Что считается длительным временем исполнения? - PullRequest
17 голосов
/ 14 марта 2010

Я пытаюсь выяснить эффективность моего серверного кода.

Используя microtime(true) для измерения скорости, я могу рассчитать время, необходимое для запуска моего скрипта.

Я получаю среднюю скорость от .3 до .5 секунд. Эти сценарии выполняют ряд запросов к базе данных, возвращая пользователю различные значения.

Что считается эффективным временем выполнения для сценариев PHP, которые будут запускаться онлайн для веб-сайта?

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

Ответы [ 13 ]

1 голос
/ 14 марта 2010

Это, конечно, очень субъективно, зависит от сайта и т. Д. И т. Д.

Тем не менее, я бы сказал, что когда страница начинает дольше, чем около 100 миллисекунд, это заметная задержка для пользователя, и это может быть «слишком долго». Это если эта страница может быть загружена мгновенно. Если страница является страницей поиска и выполняет полнотекстовый поиск в большой базе данных, ситуация, конечно, другая.

0 голосов
/ 24 января 2019

Я создал WP-сайт, на котором на одной из его страниц выполняется довольно сложная процедура поиска и сбора сводной статистики.

Соответствующий модуль PHP получает примерно 500 записей из БД и затем декодирует каждую запрашивающую БД дополнительную информацию, например, 10 различных настраиваемых полей , чтобы объединить все необходимые дополнительные данные для фронт-энд.

Затем он возвращает только страницу данных (скажем, 20 элементов) и статистическую информацию (еще 10 элементов).

Глядя на время моих инструментов Chrome Dev

  • my локальной машине разработчика требуется ~ 0,9 - 1,1 с для TTFB для каждого запроса XHR, который инициирует процедуру, описанную выше.
  • для реального веб-сервера на довольно хорошем виртуальном хостинге для той же страницы требуется 0,3-0,6 с для TTFB .

Очевидно, что это не чистый показатель производительности БД, Apache и PHP <-> MySQL мешают синхронизации, но в качестве приблизительного показателя он вполне может быть использован. Никакие рукопожатия SSL и т. Д. Издержки соединения представлены здесь. Просто время, которое потребовалось серверу для подготовки данных и ответа, без перезагрузки страницы, а также запрос XHR.

Если рассматриваемый сайт в пиковый час имеет 100 посетителей / час , посещающих ту же самую загруженную БД страницу в пиковый час, это всего лишь ~ 2 пользователя / минуту , таким образом, с вашим запросом на 0,5 сек / посетителя вы можете обслужить 60 посетителей / минуту и назвать это узким местом. Очевидно, что в этом воображаемом случае запасная производительность огромна.

0 голосов
/ 15 марта 2010
  • Я бы не сравнил ваш скрипт с Google, если вы не поддерживаете подобный рейтинг страниц ... и т. Д.

  • Если поиск просто извлекает значения из базы данных, скорость может быть улучшена в некоторой степени профилирование приложения и устранение узких мест (если упомянуть несколько - скрипт на странице, большие изображения, большие таблицы, индексы базы данных)

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