Процессорное время: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
+ {{тупиковая статья}} с помощью AWB
м автоматическая отмена правки участника 46.53.242.48 (0.917/0.054)
Метка: откат
 
(не показано 25 промежуточных версий 22 участников)
Строка 1: Строка 1:
[[Файл:Top program.jpg|thumb|Вывод программы [[top]]. Процессорное время каждого процесса указано в колонке «TIME+»]]
{{тупиковая статья}}
'''Процессорное время''' - это время, которое потратил процессор сервера на обработку задачи.
За базовое время можно взять общее время решения задачи (генерации страницы и т.д.), однако, в него не входит время, которое было затрачено на генерацию других параллельных задачи или ожидание внешних событий.


'''Процессорное время''' ({{lang-en|process time}} или {{lang-en2|CPU time}}) — время, затраченное [[Центральный процессор|процессором]] [[компьютер]]а на обработку [[Процесс (информатика)|задачи]] ([[Компьютерная программа|программы]]). Распределяется между потоками, которые могут принадлежать одному или разным [[Вычислительный процесс|процессам]] в соответствии с используемым режимом [[Операционная система|операционной системы]].
Процессорное время зависит только от проделанной работы. В случае, если из-за загруженности сервера или из-за ожиданий (например, ответа от mySQL сервера) время выполнения скрипта изменяется, реальное процессорное время (т.е. нагрузка на процессор) остается постоянной.


Процессорное время измеряется в [[Часы реального времени|тиках]] или [[секунда]]х. Часто бывает полезно измерение процессорного времени в процентах от мощности процессора, который называется загрузкой процессора.
== Примеры ==
Лучше всего пояснить этот термин примерами.


Процессорное время и загрузка процессора имеет две основных сферы применения.
* На вашей домашней машине вы архивировали большой файл. Это заняло 40 секунд. Общее время - 40 секунд, процессорное время - 40 секунд.
* Аналогично, но два файла одновременно. Общее время завершения процессов - 80 секунд, процессорное время каждого - 40 секунд.
* На пустом сервере выполняется скрипт, время генерации страницы - 2 секунды. Процессорное время - 2 секунды.
* На сервере выполняется одновременно 10 таких скриптов. Время генерации страницы будет 20 секунд, однако, процессорное время по прежнему 2 секунды.
* На соседнем сервере произошла перегрузка mySQL сервера, в результате чего ваш скрипт работал не 2 секунды, а 45 секунд. Время генерации страницы - 45 секунд, процессорное время по прежнему 2 секунды.


Первое заключается в количественном измерении общей занятости системы. Когда загрузка процессора выше 70%, пользователь может почувствовать задержку. Такая высокая загрузка ЦП указывает на недостаточную вычислительную мощность. Либо вычислительная мощность процессора (процессоров) должна быть повышена или объём пользовательских задач должен быть уменьшен, например, путём перехода на более низкое графическое разрешение и отключение анимации.
== Учет процессорного времени ==
Именно процессорное время - тот ресурс, который может закончиться на сервере. Необходим его учет. При этом, как видно из примеров, не важно, сколько именно работал ваш скрипт - важно, какую именно работу он при этом делал, т.е. процессорное время, необходимое для работы скрипта.
Нормальным количеством времени на одну страницу является 10 - 100 мс (т.е. в 10 - 100 раз меньше, чем одна секунда). Поскольку сервер одновременно обрабатывает десятки запросов, время генерации страницы составляет обычно в пределах одной секунды. Это нормально.


Второе применение, возникшее с появлением многозадачности, заключается в количестве того как процессор разделяется между компьютерными программами.
== Как производится учет ==
Веб-сервер ведет лог-файл процессорного времени, которое было затрачено на каждый запрос. Его сообщает операционная система. Затем данные суммируется для каждого сайта в пределах одного часа. Если суммарное процессорное время вашего для вашего сайта составило 1 минуту в 1 час, это обозначает, что в этот час вы потратили 1/60 = 1.7% ресурсов одного процессора сервера.


== См. также ==
== Полная мощность сервера ==
* [[Процесс (информатика)]]
Сервера обладают разным количеством процессоров. На сервере, где 8 процессоров (точнее, более реалистично, 2 процессора по 4 ядра в каждом – таков современный сервер 1Gb), общее процессорное время может достигать 800%, это обозначает, что вы на 100% загрузили все 8 логических процессоров.
* [[Поток выполнения]]
* [[Многозадачность]]
* [[Многопоточность]]
* [[Hyper-threading]]
* [[Load Average]]
* [[Диспетчер задач]]
* [[Диспетчер задач Windows]]


== Ссылки ==
Учет ведется именно по ядрам процессоров, так как в одном сервере может быть от 1 до 8 независимых ядер, при этом цифра «3.5% от ресурсов сервера» может означать мощность, которая фактически отличается в 8 раз в зависимости от конфигурации сервера, что было бы некорректно.
* [https://www.gnu.org/software/libc/manual/html_node/Processor-And-CPU-Time.html#Processor-And-CPU-Time Processor-And-CPU-Time]


{{Технологии CPU}}
Для сравнения наших тарифов с тарифами других провайдеров необходимо делать на это поправку. Например, тариф П-15, обеспечивающий нагрузку до 15% на один процессор, эквивалентен общей нагрузке на сервер в размере 3.75%, если другой провайдер указывает её для 4-х процессорного сервера целиком.
{{Аспекты операционных систем}}
{{comp-stub}}
{{нет источников|дата=2012-06-24}}


[[Категория:Технологии процессоров]]
Таким образом, нагрузка в пределах 3.5% - 7.5% (предел стандартных тарифов) по этому показателю соответствует принятым для виртуального хостинга пределам, выраженным в нагрузке от всего сервера – встречаются условия от 1% до 3%. Общий предел нужно сначала умножить на 8 - общее количество процессоров в текущем сервере 1Gb - а потом поделить на среднее кол-во процессоров для установленного предела у сравниваемого провайдера. В подавляющем большинстве упоминается "машина класса Dual Xeon 3 ГГц", что составляет 4 логических процессора.
[[Категория:Операционная система]]

[[Категория:Операционные системы]]
[[Категория:Компьютер]]

[[de:Prozessorzeit]]
[[en:CPU time]]
[[ko:CPU 타임]]

Текущая версия от 15:40, 28 декабря 2022

Вывод программы top. Процессорное время каждого процесса указано в колонке «TIME+»

Процессорное время (англ. process time или CPU time) — время, затраченное процессором компьютера на обработку задачи (программы). Распределяется между потоками, которые могут принадлежать одному или разным процессам в соответствии с используемым режимом операционной системы.

Процессорное время измеряется в тиках или секундах. Часто бывает полезно измерение процессорного времени в процентах от мощности процессора, который называется загрузкой процессора.

Процессорное время и загрузка процессора имеет две основных сферы применения.

Первое заключается в количественном измерении общей занятости системы. Когда загрузка процессора выше 70%, пользователь может почувствовать задержку. Такая высокая загрузка ЦП указывает на недостаточную вычислительную мощность. Либо вычислительная мощность процессора (процессоров) должна быть повышена или объём пользовательских задач должен быть уменьшен, например, путём перехода на более низкое графическое разрешение и отключение анимации.

Второе применение, возникшее с появлением многозадачности, заключается в количестве того как процессор разделяется между компьютерными программами.