NodeJS vs PHP. Тест на производительность

Недавно очень заинтересовался NodeJS. Чем больше с ним разбирался – тем больше он мне нравился, вплоть до идеи «отныне пишу все на NodeJS». Но перед переходом мне стало интересно, на сколько серверный js выигрывает в производительности, в сравнении с php.

Тест состоит из шести пунктов (каждый из пунктов повторялся 10000 раз):
  • время отклика;
  • синхронизированное чтение файла;
  • асинхронное чтение файла (только NodeJS);
  • синхронизированное чтение и запись файла;
  • синхронизированное чтение и асинхронная запись файла (только NodeJS).
Проверял я его на своём домашнем сервачке с такими параметрами:
  • Материнка: Intel D510MO;
  • ЦП: Intel Atom D510 (2 Core 1.66 GHz);
  • ОЗУ: 2GB 800 MHz;
  • ОС: Ubuntu Server 10.04;
  • NodeJS v0.3;
Результаты меня очень огорчили. NodeJS превосходит только в тесте на время отклика, так как исполняемый файл уже в памяти и не требует загрузки, сравнительно с PHP. Основным достоинством серверного js является асинхронность выполнения функций, но для 1-го действия это достоинство превращается в минус. Как видно в таблице (тест № 3,5) js проигрывает PHP в чтении и записи файлов даже в асинхронном режиме.
Таблица результатов.
image
Гистограмма времени.
image
Гистограмма загрузки ЦП.
image
Гистограмма загрузки ОЗУ.
image

Выводы

Когда я увидел результаты теста, появилось впечатление, что сравниваю «моську» и «слона», насколько разные весовые категории у данных систем. Численные операции и взаимодействие с файлами однозначно не являются достоинствами NodeJS на данный момент, но веб-приложения основанные на websockets по идее будут гораздо более быстрыми чем у PHP, так как время отклика отличается более. чем в 2 раза.
В плане потребления ресурсов стоит отметить:
  • Количество открытых процессов: NodeJS 1; PHP 6.
  • ОЗУ: требуют практически одинаково.
  • ЦП: NodeJS во всех тестах кроме первого требует больше.
Что ж, надеюсь проект NodeJS и дальше будет развиваться и когда ни будь превзойдет PHP в работе с файлами и численных операциях.

Архив со скриптами для тестирования


0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.