()
| 279 | } |
| 280 | |
| 281 | async function main() { |
| 282 | try { |
| 283 | let results = []; |
| 284 | for (let c of argv.clients) { |
| 285 | console.log('######################################################################'); |
| 286 | console.log(`Starting test with ${c} clients and ${argv.iterations} iterations`); |
| 287 | console.log(`Sleeping for ${argv.delay} seconds...`); |
| 288 | await sleep(argv.delay); |
| 289 | const result = await singleTest(c, argv.iterations); |
| 290 | console.log(`${c} clients, ${argv.iterations} iterations, ${result.success.mean * 100}% success`); |
| 291 | console.log(`homepage: ${result.timeHomepage.mean} +/- ${result.timeHomepage.stddev} s`); |
| 292 | console.log(`questions: ${result.timeQuestions.mean} +/- ${result.timeQuestions.stddev} s`); |
| 293 | console.log(`question: ${result.timeQuestion.mean} +/- ${result.timeQuestion.stddev} s`); |
| 294 | console.log(`submit: ${result.timeSubmit.mean} +/- ${result.timeSubmit.stddev} s`); |
| 295 | console.log(`total: ${result.timeTotal.mean} +/- ${result.timeTotal.stddev} s`); |
| 296 | result.clients = c; |
| 297 | result.iterations = argv.iterations; |
| 298 | results.push(result); |
| 299 | } |
| 300 | console.log('######################################################################'); |
| 301 | console.log('clients,iterations,success fraction,homepage mean,homepage stddev,questions mean,questions stddev,question mean,question stddev,submit mean,submit stddev,total mean,total stddev,throughput'); |
| 302 | for (let result of results) { |
| 303 | console.log(`${result.clients},${result.iterations},${result.success.mean},${result.timeHomepage.mean},${result.timeHomepage.stddev},${result.timeQuestions.mean},${result.timeQuestions.stddev},${result.timeQuestion.mean},${result.timeQuestion.stddev},${result.timeSubmit.mean},${result.timeSubmit.stddev},${result.timeTotal.mean},${result.timeTotal.stddev},${result.clients * result.success.mean / result.timeTotal.mean}`); |
| 304 | } |
| 305 | } catch (e) { |
| 306 | console.log('Error', e); |
| 307 | } |
| 308 | } |
| 309 | |
| 310 | main(); |
no test coverage detected