nodejs 和 php 實現的是一個像他的功能,從MySQL裏讀出讀出五行數據。 php
測試命令: node
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 的測試結果:
mysql
PHP的測試結果:
sql
NodeJs的代碼: shell
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的測試代碼: json
$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();