Nodejs 和PHP 性能测试结果

nodejs 和 php 实现的是一个像他的功能,从MySQL里读出读出五行数据。

测试命令:

ab.exe -n10000 -c100 http://127.0.0.1:1337/ > node.log

ab.exe -n10000 -c100 http://127.0.0.1/abTest.php > php.log

Nodejs 的测试结果:
Nodejs 和PHP 性能测试结果_第1张图片

PHP的测试结果:
Nodejs 和PHP 性能测试结果_第2张图片

NodeJs的代码:

var mysql = require('mysql'),
	http = require('http');

var connection = mysql.createConnection({
		host : 'localhost',
		user : 'root',
		password : '',
		database : 'collection',
		charset : mysql.UTF8_UNICODE_CI,
	});
connection.connect();

http.createServer(function (req, res) {
	res.writeHead(200, {
		'Content-Type' : 'text/plain',
		'Hello':'world',
	});
	connection.query('SELECT `category`,`add_intro`, `source` FROM `tu_duowan_com` LIMIT 5;', function (err, rows, fields) {
		if (err) throw err;
		res.write('MySQL Result:' + JSON.stringify(rows));
		res.end();
	});
	
}).listen(1337, '127.0.0.1');
process.on('exit', function(){
	connection.end();
});
console.log('Server running at http://127.0.0.1:1337/');

PHP的测试代码:

$mysqli = new mysqli('localhost', 'root', '', 'collection');
	if ($mysqli->connect_error) {
		throw new Exception(sprintf('Connect host(localhost) Error: %s.', $mysqli->connect_error));
	}
	if (!$mysqli->set_charset('utf8')) {
	    throw new Exception(sprintf("Error loading character set utf8: %s.", $mysqli->error));
	}
	
	$result = $mysqli->query('SELECT `category`,`add_intro`, `source` FROM `tu_duowan_com` LIMIT 5;');
	if(false === $result){
		throw new Exception($mysqli->error);
	}
	
	$rtn = $result->fetch_all(MYSQLI_ASSOC);
	$result->free();
	echo json_encode($rtn);
	$mysqli->close();






你可能感兴趣的:(Nodejs 和PHP 性能测试结果)