NodeJS vs PHP + Тест производительности Apache имеет странные результаты

Я пытаюсь выбрать лучшую технологию для своего API, поэтому я создал самый простой скрипт:

PHP:

<?php

$r = [];

for($i=0;$i<=1000000;$i++) {
$r[] = $i;
}

echo json_encode($r);

Узел:

var http = require("http");

http.createServer(function(request, response) {
var i, ret = [];

response.writeHeader(200, {"Content-Type": "text/html"});

for(i=0;i<=1000000;i++) {
ret.push(i);
}

response.end(JSON.stringify(ret));
}).listen(8080);

Apache имеет довольно стандартную конфигурацию по умолчанию и не содержит причудливых оптимизаций

Время отклика составляет около 1,5 с-2,3 с для PHP + Apache и NodeJS, что действительно странно. Так что, я делаю что-то не так с узлом или просто, что эта специфическая функциональность не имеет преимущества перед PHP + Apache?


API должен, в конечном счете, принимать вызовы, вставлять его в базу данных с одной стороны, а с другой — извлекать эти результаты. API должен принимать около 1 миллиона вызовов в день, и он должен быть масштабируемым, поэтому я пытаюсь выяснить, какой подход лучше, и результаты теста производительности меня немного смутили.

1

Решение

Обратите внимание, что результаты теста производительности зависят от типа программ / приложений, которые вы используете для тестирования.

Обычно существует два типа показателей эффективности. Одним из них является производительность на стороне сервера (она измеряется путем вычисления загрузки процессора и памяти соответствующей технологии на сервере (Linux Box)), а другим — производительность на стороне клиента (измеряется временем отклика с использованием таких инструментов, как Apache Bench).

Тесты использования ЦП и памяти на стороне сервера: Debian.org тестирует различные языки программирования / фреймворк в Linux Box (Ubuntu). Он использует набор различных типов программ для измерения производительности. Это может быть идеальным источником информации. Однако он измеряет только использование ресурсов ЦП и памяти на стороне сервера. Результат сравнения между Node и другими языками (например, PHP) можно найти по следующей ссылке:

https://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html
https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=node&lang2 = PHP

Согласно их результатам, Node работает значительно лучше по сравнению с PHP с точки зрения использования процессора.

Ориентиры времени отклика на стороне клиента: Hostingadvice сравнил производительность Node и PHP на стороне клиента. Они измеряли производительность с точки зрения времени отклика на стороне клиента. Вы можете найти результат по следующей ссылке:
http://www.hostingadvice.com/blog/comparing-node-js-vs-php-performance/

Согласно их результатам, Node работает значительно лучше, чем PHP, с точки зрения времени отклика на стороне клиента.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]