Процессорное время
Процессорное время — это время, которое потратил процессор сервера на обработку задачи.
За базовое время можно взять общее время решения задачи (генерации страницы и т. д.), однако, в него не входит время, которое было затрачено на выполнение других параллельных задач или ожидание внешних событий.
Процессорное время зависит только от проделанной работы. В случае, если из-за загруженности сервера или из-за ожиданий (например, ответа от MySQL-сервера) время выполнения скрипта изменяется, реальное процессорное время (то есть нагрузка на процессор) остается постоянной.
Примеры
Лучше всего пояснить этот термин примерами.
- На вашей домашней машине вы архивировали большой файл. Это заняло 40 секунд. Общее время — 40 секунд, процессорное время — 40 секунд.
- Аналогично, но два файла одновременно. Общее время завершения процессов — 80 секунд, процессорное время каждого — 40 секунд.
- На пустом сервере выполняется скрипт, время генерации страницы — 2 секунды. Процессорное время — 2 секунды.
- На сервере выполняется одновременно 10 таких скриптов. Время генерации страницы будет 20 секунд, однако, процессорное время по прежнему 2 секунды.
- На соседнем сервере произошла перегрузка MySQL-сервера, в результате чего ваш скрипт работал не 2 секунды, а 45 секунд. Время генерации страницы — 45 секунд, процессорное время по прежнему 2 секунды.
Учет процессорного времени
Именно процессорное время — тот ресурс, который может закончиться на сервере. Необходим его учет. При этом, как видно из примеров, не важно, сколько именно работал ваш скрипт — важно, какую именно работу он при этом сделал, то есть процессорное время, необходимое для работы скрипта.
Нормальным количеством времени на одну страницу является 10—100 мс (то есть в 10—100 раз меньше, чем одна секунда). Поскольку сервер одновременно обрабатывает десятки запросов, время генерации страницы составляет обычно в пределах одной секунды. Это нормально.
Как производится учет
Веб-сервер ведет лог-файл процессорного времени, которое было затрачено на каждый запрос. Его сообщает операционная система. Затем данные суммируется для каждого сайта в пределах одного часа. Если суммарное процессорное время вашего для вашего сайта составило 1 минуту в 1 час, это обозначает, что в этот час вы потратили ресурсов одного процессора сервера.
Полная мощность сервера
Сервера обладают разным количеством процессоров. На сервере, где 8 процессоров (точнее, более реалистично, 2 процессора по 4 ядра в каждом), общее процессорное время может достигать 800 %, это обозначает, что вы на 100 % загрузили все 8 логических процессоров.
Учет ведется именно по ядрам процессоров, так как в одном сервере может быть от 1 до 8 независимых ядер, при этом цифра «3,5 % от ресурсов сервера» может означать мощность, которая фактически отличается в 8 раз в зависимости от конфигурации сервера, что было бы некорректно.
См. также
Это заготовка статьи об информационных технологиях и вычислительной технике. Помогите Википедии, дополнив её. |