Скорость выполнения PHP-скриптов

05.01.2011

Решил провести очень простой тестик: во время запуска скрипта миллион раз вычислить хэш строки blabla по алгоритму md5, и посчитать время выполнения. У меня результаты такие:

Где выполняется скрипт Время (в сек.) запуска через вебсервер Время при запуске из консоли
Виртуальный хостинг Ruweb.net, где в данный момент расположен мой блог, сервер Apache 0,8 -
VPS на Linode.com, минимальный тариф, сервер Lighttpd 1,2 1,1
Моя домашняя машинка, тестовый сервер Mongoose 2,1 1,9

Оказалось, накладные расходы на вебсервер даже в таком тесте могут быть ощутимы — это для меня новость, если честно. Я сперва вообще из консоли и не думал запускать, а потом что-то решил попробовать.

Вопрос умным людям: вообще от чего это всё зависит в первую очередь и как ускорить выполнение скриптов на VPS? Там /proc/cpuinfo показывает аж четыре процессора Intel Xeon по 2,2 ГГц, а результаты в сравнении с виртуальным хостингом так себе. Кстати, на виртуальном хостинге двухъядерный процессор 2,8 ГГц, а у меня на домашней машинке сейчас старенький AMD Athlon 1,7 ГГц.

И ещё, кому не лень, попробуйте провести точно такой же тест на своих машинках и хостингах, а? Результаты в комментарии. Это было бы любопытно. Код теста можно посмотреть или скачать скрипт.

Комментарии

  1. # tulvit: 

    Локалхост (о-очень древний комп) – 1,75, Петерхост (виртуальный хостинг) – 1,04. В обоих случаях сервер Апач.

  2. # Тормоз: 

    Интересно, что на таком простом тесте виртуальный хостинг выигрывает. Ну а у тебя какие мысли, что тут сделать, как ускориться? :)

    Я сейчас ещё попробую акселератор PHP подключить и проверить. Но для такого теста он не должен давать выигрыша особого, мне кажется, так что буду проверять на установленном Daos. Напишу в следующей заметке.

  3. # tulvit: 

    Мыслей абсолютно никаких нет=) Хотя тоже думал, что при прочих равных VPS по дефолту должен быть быстрее виртуального хостинга.

  4. # Тормоз: 

    Я думаю, это ещё очень сильно зависит от времени суток и загрузки сайтов соседей на виртуальном хостинге.

  5. # bigbag: 

    Xeon 5130 (2 Ггц) консоль 0.8-0,84, nginx 0,87-0,88.

  6. # quantum: 

    через браузер 0.72
    впс этот www.rusonyx.ru/hosti…

  7. # quantum: 

    Второй и следующие запуски 0.71 (стоит еакселератор)

  8. # Crasher69: 

    FirstVDS, макимальный тариф (типа анлим) – 0,99 (FreeBDS, Apache)

    VDS64.com (VDS-Optimal) – порядка 3с, каждый раз то больше то чуть меньше. (CentOS, Apache)

    Честно говоря очень удивлен, что на ферствдс все отрабатывается в разы лучше, но факт остается фактом, хотя от них нахрен съезжаю.

  9. # Тормоз: 

    Мда, интересненькие результаты.

  10. # DimaX: 

    На pastie.org забыл закрывающий пхп тег поставить.

    Локалка (Pentium T4300, 2.1 ГГц) – 0.47-0.49

    Правда, на локалке вообще иной раз глюк какой-то был и показывало отрицательное значение, может, из-за того, что тут у меня пхп4 стоит?

    Свой сервер (Pentium CPU G6950 @ 2.80GHz) 0.73-0.78

    Тут отрицательных не было, пхп5 стоит.

    И там и там апач.

  11. # Тормоз: 

    Я не забыл закрывающий тег, он не нужен и даже противопоказан. С отрицательными странно, как и странно что до сих пор кто-то использует PHP-4.

  12. # lukamor: 

    clodo.ru облачный, минимум
    консоль – 0,8
    веб – 0,78

  13. # Beduin: 

    firstvds.ru – минимальный тариф. ubuntu -10.04 php 5.3.4
    время исполнения из консоли – 0.79

    через веб сервер – 0.86
    bedu.in/test.php

  14. # Тормоз: 

    Beduin, твой test.php вообще ничего не показывает.

    Lukamor, какой смысл минимум мерять? Среднее надо. Но тут примерный порядок цифр и так ясен.

    И, блин, зачем вы ставите пустые сайты в URL формы комментариев? Постоянно находятся такие умники. Для чего это делать?

  15. # Shedar: 

    В консоли – 0.38
    Через nginx – apache2 – 0.5
    Через nginx – php-fpm – 0.43
    Сервер с i7-920

    Время выполнения в статье соизмеримо с частотами (по убыванию частоты и увеличению времени хостинг, VPS, домашний). Преимущество того, что на VPS 4 ядра в распоряжении ощущаться будет не в таких тестах, а при конкурентных запросах. Например что-то вроде
    ab -c 10 -n 500 site.com/test
    Хотя, VPS тоже не даст всегда иметь в распоряжении весь проц, но, мне кажется, даст всё-же больше, чем шаред хостинг.

  16. # lukamor: 

    Тормоз, «минимум» относился к настройкам тарифа. Пустой сайт может стать полным. За «умника» спасибо. :)

  17. # che: 

    0.62. Но я не совсем понял что ты хочешь от этого скрипта получить :) Мне кажется, что пхп не раскидывает такую задачу по нескольким процессорам. И ты ещё делишь этот проц с 39 другими линодами.

  18. # Тормоз: 

    Shedar, ого, круто!

    Lukamor, ну когда будет, тогда и показывай своё сокровище. Зачем зря тратить время людей, которые заинтересовались и кликнули? Некрасиво это.

    Che, да просто возникла мысль проверить чего выйдет. Мне вот сейчас непонятно, почему на виртуальном хостинге результат самый хороший.

  19. # lukamor: 

    Тормоз, ты наверно не заметил, но я убрал ссылку до твоего последнего указания. Твое время, потраченное зря, я оплатил тем, что откликнулся на твою просьбу протестировать твой скрипт на моем хостинге. Более на твои вопросы отвечать не намерен. Степень красоты определяю сам. Удачи.

  20. # Тормоз: 

    Обидчивый как ребёнок. Речь не только о моём времени, сюда не я один захожу. Я просто не понимаю зачем увеличивать энтропию вселенной? И тебе удачи! Спасибо за тест.

  21. # Сергей Фещуков: 

    На своём буке стоит Denwer (соответственно сервер Apache2, ОС Windows), тест выдал результат 1.86. На виртуальном хостинге BeGet (где сервер также Apache2, но ОС Ubuntu), где расположен мой блог, – результат 0.65. Через консоль нет возможности тестировать

  22. # Андрей: 

    VPS – www.hostingzoom.com/…

    Через браузер показал 0,91

  23. # хехе: 

    виртуальный unix хостинг агавы, тариф normal: 0.43

  24. # Smart: 

    Потестил несколько, все через браузер:
    Локалка – apache (Core 2 Duo T7500 2,2Ghz) – 1.1-1.12
    infobox.ru – тариф Эконом (3% одного ядра Xeon 3.00GHz) – 0.9-1.1
    hostwq.info – тариф H-50 (Core 2 Quad Q9400 2.66GHz) – 0.7-0.8
    trust-host.ru – тариф на 100mb (2% Core 2 Quad Q9400) – 0.7-1.0
    Честно говоря ожидал совсем других результатов…

  25. # Бутылк.Ус: 

    Блин, чо вы замеряете, дай позырить! Выделенного у меня пока нет, но есть виртуалка. Дайти-дайти-дайти =)
    Линейку мне, линейку! В смысле скрипт, который запустить, и способ вызова

  26. # Бутылк.Ус: 

    Ой, ступил, ща сделаю =)

  27. # Profit Hunter: 

    Потестил через браузер:
    локалхост – 1.4 (core 2 duo e4300, 2gb озу)
    stablehosting.ru – 0.54 (core i7-920, 24gb озу)

    Через консоль не проверял.

  28. # Бутылк.Ус: 

    Spaceweb
    Тариф SW-2 (архивный), примерный аналог SX-4
    ХЗ какое железо, беглым поиском не обнаружил на сайте хостинга.
    Сто тестовых запусков дали такое:

    Среднее время отработки: 1.0995540618896 сек

  29. # Бутылк.Ус: 

    А вот тот же скрипт из директории, не загруженной рерайтами и лишними настройками через .htaccess:

    Среднее время отработки: 0.92651796340942 сек

  30. # Тормоз: 

    Что-то маловато знаков после запятой :( Точнее надо.

  31. # zifanchuck: 

    Денвер – 0.91 (Core i5-430M (2.26 ГГц) / RAM 4 ГБ)

    good-host.net – 1.07 (Core i7-920 Quad-Core 2×4 ядра \ RAM 8 GB)

    Тестил с браузера

  32. # sf: 

    грубо говоря, ты замерил не скорость php, а скорость процессора, т.к. вычислением хэша занимается именно он. А ВПС/ВДС, Дедики выигрывают тем, что у тебя больший лимит по памяти, трафику и дисковому пространству, а процессор так же как и на шаред в полную меру не доступен.

  33. # Тормоз: 

    Ясно. Я уж тоже примерно к такому выводу пришёл, спасибо за подтверждение. Но всё равно как-то немного печально :)

  34. # wareza: 

    Космохост (вирт, через браузер): 0.91

    Опенхостинг (вирт, через браузер): 0.48

  35. # Фил: 

    локальный сервер
    macos x 10.6
    Intel Core 2 Duo 2.66 ГГц
    апач2
    PHP 5.2.10

    веб: 1.03
    командная строка: 0.55

  36. # janso: 

    localhost (athlon II 255), apache – 0.8
    свой сервер, P4, nginx – 1.1
    fastvps какой-то бюджетный тариф – 1.1

  37. # moneyexpert: 

    hetzner.de vServer VQ 7
    0.78

    linode.com 512
    1.3

    На обоих apache

  38. # Euhene Che: 

    Нетбук Atom 1,6 (3,4)
    fastvps Apache проц i7 стабильно (0,43)

  39. # Белый Негр: 

    Windows 7, Xampp 1.7.2, Celeron 550 2.0 GHz – 5.92 сек.

    Debian 5, Core2 Quad Q9400 @ 2.66GHz, $10 сервер от Intovps.com, 1.92 сек.

    Ого. Десктоп тупит наверное потому, что запущена опера и 100500 вкладок, плюс музыка играет

  40. # noys: 

    0.95 TinyVDS тариф T-384 за 15$

    Конфиг: Apache2.2/nginx0.6.32/xcache

  41. # allmoney.ws: 

    0.64 на домашней машине в браузере (Denwer)

Комментирование этой статьи закрыто.

Интересное Покупки ТехникаРазное Отдых Статьи Строительство Услуги Общество Хобби Культура Советы Уют