Почему время отклика на запрос больше в node.js или express.js по сравнению с PHP и Mysql Client? - PullRequest
0 голосов
/ 05 июля 2019

Я сравниваю время ответа / выполнения запроса с помощью PHP-скрипта и express.js (модуль mysql npm) и mysql (командная строка).

Я заметил, что время отклика больше в файле node.js по сравнению с другими.

Мой запрос:

     SELECT (1 + 1) AS result

Время отклика (в среднем)

  • Экспресс js: 2 мс
  • Mysql (командная строка): менее 0 мс
  • PHP скрипт: 0,11 мс

код в Express JS

const express = require("express");
const app = express();

const mysql = require('mysql');

app.get('/', (req, res) => {
        const connection = mysql.createConnection({
        host: "localhost",
        user: "root",
        password: "",
        database: "test"
    });

    global.start = Date.now();

    connection.query('SELECT (1 + 1) AS result', function (error, results, fields) {
        if (error) throw error;
        connection.end();
        let end = Date.now();
        let elapsed = end - global.start;
        let result = results[0]['result'];
        res.send('Result : ' + result + ' <br/> Time Elapsed : ' + elapsed + ' ms');
    });    
});

app.listen(8080);

Код в PHP

<?php
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test';

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT 1 + 1 AS result";

$start = microtime(true);
$result = $conn->query($sql);
$end = microtime(true);



if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "Result: " . $row["result"] . "<br>";
        echo 'Time Elapsed : ' . number_format(($end-$start)*1000,2) . ' ms <br/>';
            }
} else {
    echo "0 results";
}



$conn->close();
?>

Я ожидаю, что время отклика node.js (модуля mysql npm) должно приблизительно совпадать с другими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...