Здравствуйте.
Проблема со скоростью сохранения в mysql на node.js.
Установил следующее расширение -
https://www.npmjs.org/package/mysql.
Имеется код:
var mysql = require('mysql'),
post_term = {
"name": 'test',
"second_name": 'test',
"third_name": 'test'
},
time = 0,
start_time = 0;
var connection = mysql.createConnection({
host : '***',
database : '***',
user : '***',
password : '***'
});
start_time = Date.now();
connection.query('INSERT INTO terms SET ?', post_term, function(err, result){
if(err)
throw err;
time = Date.now() - start_time;
console.log('Time: '+time);
});
Время работы такого кода на моем ноутбуке составляет 370 миллисекунд.
Аналогичный код на php, отрабатывает за 0.000133283 миллисекунд.
<?php
$link = mysql_connect($host, $user, $pass);
if (!$link) {
die('Не удалось соединиться : ' . mysql_error());
}
$db_selected = mysql_select_db($db_name, $link);
if (!$db_selected) {
die ('Не удалось выбрать базу: ' . mysql_error());
}
$start = microtime(true);
$query = "INSERT INTO terms (name, second_name, third_name) VALUES ('test', 'test', 'test')";
$result = mysql_query($query, $link);
if (!$result) {
die('Неверный запрос: ' . mysql_error());
}
echo number_format(microtime(true) - $start, 6);
?>
Что я делаю неправильно? Почему node работает настолько долго?
Верное время работы php скрипта - 138.12ms.
В расчетах возникла ошибка из-за того, что значения microtime(в php) брались в микросекундах, а не в секундах.