aboutsummaryrefslogtreecommitdiff
path: root/benchmark/net
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/net')
-rw-r--r--benchmark/net/chunky_http_client.js102
-rw-r--r--benchmark/net/http_server_for_chunky_client.js47
2 files changed, 0 insertions, 149 deletions
diff --git a/benchmark/net/chunky_http_client.js b/benchmark/net/chunky_http_client.js
deleted file mode 100644
index 24e14ca2bc..0000000000
--- a/benchmark/net/chunky_http_client.js
+++ /dev/null
@@ -1,102 +0,0 @@
-'use strict';
-
-// test HTTP throughput in fragmented header case
-var common = require('../common.js');
-var net = require('net');
-var test = require('../../test/common.js');
-
-var bench = common.createBenchmark(main, {
- len: [1, 4, 8, 16, 32, 64, 128],
- num: [5, 50, 500, 2000],
- type: ['send'],
-});
-
-
-function main(conf) {
- var len = +conf.len;
- var num = +conf.num;
- var type = conf.type;
- var todo = [];
- var headers = [];
- // Chose 7 because 9 showed "Connection error" / "Connection closed"
- // An odd number could result in a better length dispersion.
- for (var i = 7; i <= 7 * 7 * 7; i *= 7)
- headers.push(Array(i + 1).join('o'));
-
- function WriteHTTPHeaders(channel, has_keep_alive, extra_header_count) {
- todo = []
- todo.push('GET / HTTP/1.1');
- todo.push('Host: localhost');
- todo.push('Connection: keep-alive');
- todo.push('Accept: text/html,application/xhtml+xml,' +
- 'application/xml;q=0.9,image/webp,*/*;q=0.8');
- todo.push('User-Agent: Mozilla/5.0 (X11; Linux x86_64) ' +
- 'AppleWebKit/537.36 (KHTML, like Gecko) ' +
- 'Chrome/39.0.2171.71 Safari/537.36');
- todo.push('Accept-Encoding: gzip, deflate, sdch');
- todo.push('Accept-Language: en-US,en;q=0.8');
- for (var i = 0; i < extra_header_count; i++) {
- // Utilize first three powers of a small integer for an odd cycle and
- // because the fourth power of some integers overloads the server.
- todo.push('X-Header-' + i + ': ' + headers[i % 3]);
- }
- todo.push('');
- todo.push('');
- todo = todo.join('\r\n');
- // Using odd numbers in many places may increase length coverage.
- var chunksize = 37;
- for (i = 0; i < todo.length; i += chunksize) {
- var cur = todo.slice(i, i + chunksize);
- channel.write(cur);
- }
- }
-
- var success = 0;
- var failure = 0;
- var min = 10;
- var size = 0;
- var mod = 317;
- var mult = 17;
- var add = 11;
- var count = 0;
- var PIPE = test.PIPE;
- var socket = net.connect(PIPE, function() {
- bench.start();
- WriteHTTPHeaders(socket, 1, len);
- socket.setEncoding('utf8')
- socket.on('data', function(d) {
- var did = false;
- var pattern = 'HTTP/1.1 200 OK\r\n';
- if ((d.length === pattern.length && d === pattern) ||
- (d.length > pattern.length &&
- d.slice(0, pattern.length) === pattern)) {
- success += 1;
- did = true;
- } else {
- pattern = 'HTTP/1.1 '
- if ((d.length === pattern.length && d === pattern) ||
- (d.length > pattern.length &&
- d.slice(0, pattern.length) === pattern)) {
- failure += 1;
- did = true;
- }
- }
- size = (size * mult + add) % mod;
- if (did) {
- count += 1;
- if (count === num) {
- bench.end(count);
- } else {
- WriteHTTPHeaders(socket, 1, min + size);
- }
- }
- });
- socket.on('close', function() {
- console.log('Connection closed');
- });
-
- socket.on('error', function() {
- throw new Error('Connection error');
- });
- });
-}
diff --git a/benchmark/net/http_server_for_chunky_client.js b/benchmark/net/http_server_for_chunky_client.js
deleted file mode 100644
index 5439e7226e..0000000000
--- a/benchmark/net/http_server_for_chunky_client.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'use strict';
-
-var path = require('path');
-var http = require('http');
-var fs = require('fs');
-var spawn = require('child_process').spawn;
-var common = require('../common.js')
-var test = require('../../test/common.js')
-var pep = path.dirname(process.argv[1]) + '/chunky_http_client.js';
-var PIPE = test.PIPE;
-
-var server;
-try {
- fs.unlinkSync(PIPE);
-} catch (e) { /* ignore */ }
-
-server = http.createServer(function(req, res) {
- res.writeHead(200, { 'content-type': 'text/plain',
- 'content-length': '2' });
- res.end('ok');
-});
-
-server.on('error', function(err) {
- throw new Error('server error: ' + err);
-});
-
-try {
- var child;
-
- server.listen(PIPE);
-
- child = spawn(process.execPath, [pep], { });
-
- child.on('error', function(err) {
- throw new Error('spawn error: ' + err );
- });
-
- child.stdout.pipe(process.stdout);
-
- child.on('exit', function (exitCode) {
- console.error('Child exited with code: ' + exitCode);
- });
-
-} catch(e) {
- throw new Error('error: ' + e );
-}
-