Guest User

Untitled

a guest
May 26th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. var sys = require('sys'),
  2. http = require('http');
  3.  
  4. // Usage:
  5. // node client.js port, num, c
  6.  
  7. var port = process.argv[2];
  8. var n = process.argv[3];
  9. var c = process.argv[4];
  10.  
  11. var count = n;
  12. var data = 0;
  13. var start = new Date().valueOf();
  14. for (var i = 0; i < c; i++) {
  15. (function () {
  16. var client = http.createClient(port, "127.0.0.1");
  17. (function get() {
  18. var request = client.request("GET", "/", {});
  19. request.addListener('response', function (response) {
  20. response.addListener('data', function (chunk) {
  21. data += chunk.length;
  22. });
  23. response.addListener('end', function () {
  24. count--;
  25. if (count > 0) get();
  26. else end();
  27. });
  28. });
  29. request.end();
  30. }());
  31. }());
  32. }
  33.  
  34. var done = false;
  35. function end() {
  36. if (done) return;
  37. done = true;
  38. var seconds = (new Date().valueOf() - start) / 1000;
  39. sys.debug("Port: " + port);
  40. sys.debug("Num Requests: " + n);
  41. sys.debug("Concurrency: " + c);
  42. sys.debug("Total Data: " + data + " bytes");
  43. sys.debug("Total Time: " + seconds + " seconds");
  44. sys.debug((n / seconds) + " Requests/sec");
  45. sys.debug((data / 1024 / seconds) + " Kilobytes/sec");
  46. }
  47.  
  48. // node client.js 8000 10000 100
  49. // DEBUG: Port: 8000
  50. // DEBUG: Num Requests: 10000
  51. // DEBUG: Concurrency: 100
  52. // DEBUG: Total Data: 10000 bytes
  53. // DEBUG: Total Time: 3.16 seconds
  54. // DEBUG: 3164.5569620253164 Requests/sec
  55. // DEBUG: 3.090387658227848 Kilobytes/sec
  56.  
  57.  
  58. // node client.js 8001 10000 100
  59. // DEBUG: Port: 8001
  60. // DEBUG: Num Requests: 10000
  61. // DEBUG: Concurrency: 100
  62. // DEBUG: Total Data: 100000 bytes
  63. // DEBUG: Total Time: 3.088 seconds
  64. // DEBUG: 3238.341968911917 Requests/sec
  65. // DEBUG: 31.62443329015544 Kilobytes/sec
  66.  
  67.  
  68. // node client.js 8002 16000 100
  69. // DEBUG: Port: 8002
  70. // DEBUG: Num Requests: 16000
  71. // DEBUG: Concurrency: 100
  72. // DEBUG: Total Data: 1600000 bytes
  73. // DEBUG: Total Time: 4.843 seconds
  74. // DEBUG: 3303.737352880446 Requests/sec
  75. // DEBUG: 322.63060086723107 Kilobytes/sec
  76.  
  77.  
  78. // node client.js 8003 16000 100
  79. // DEBUG: Port: 8003
  80. // DEBUG: Num Requests: 16000
  81. // DEBUG: Concurrency: 100
  82. // DEBUG: Total Data: 16000692 bytes
  83. // DEBUG: Total Time: 5.022 seconds
  84. // DEBUG: 3185.9816806053364 Requests/sec
  85. // DEBUG: 3111.444799133811 Kilobytes/sec
  86.  
  87. // node client.js 8004 8000 100
  88. // DEBUG: Port: 8004
  89. // DEBUG: Num Requests: 8000
  90. // DEBUG: Concurrency: 100
  91. // DEBUG: Total Data: 80004669 bytes
  92. // DEBUG: Total Time: 2.619 seconds
  93. // DEBUG: 3054.6009927453224 Requests/sec
  94. // DEBUG: 29831.82877827892 Kilobytes/sec
  95.  
  96.  
  97. // node client.js 8005 4000 100
  98. // DEBUG: Port: 8005
  99. // DEBUG: Num Requests: 4000
  100. // DEBUG: Concurrency: 100
  101. // DEBUG: Total Data: 401374752 bytes
  102. // DEBUG: Total Time: 2.19 seconds
  103. // DEBUG: 1826.4840182648402 Requests/sec
  104. // DEBUG: 178980.60787671234 Kilobytes/sec
  105.  
  106.  
  107. // node client.js 8006 2000 100
  108. // DEBUG: Port: 8006
  109. // DEBUG: Num Requests: 2000
  110. // DEBUG: Concurrency: 100
  111. // DEBUG: Total Data: 2047093547 bytes
  112. // DEBUG: Total Time: 6.73 seconds
  113. // DEBUG: 297.17682020802374 Requests/sec
  114. // DEBUG: 297045.28855753154 Kilobytes/sec
Add Comment
Please, Sign In to add comment