Скорость выполнения 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. # Андрей

    VPSwww.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)

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

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