Cp (единица измерения)

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

CP (расшифровывается как cpu points) — это абстрактная величина характеризующая количество процессорного времени потраченного процессорами на обработку процессов пользователей, получаемая стандартными средствами ядра linux. В условных единицах CP измеряется нагрузка именно на CPU самого сервера. Измеряется этот показатель системой Process accounting в Linux.

Этот показатель нельзя использовать как единое мерило для всех т.к. всё зависит от каждой конкретной конфигурации веб сервера.

Что влияет на нагрузку CPU сервера хостинга сайта

Всё, что требует процессорных вычислений сервера производит нагрузку на CPU. Это различные серверные скрипты написанные на языках серверного web программирования: PHP, Perl и другие.

Схема работы

Установим сначала демон psacct (RedHat) или acct (Debian). yum install psacct или apt-get install acct

Демон собирает информацию по всем выполняемым процессам пользователя и записывает это в /var/account. Далее, командой sa мы можем получить информацию по каждому пользователю и его нагрузке.


Значение данного параметра зависит как от посещаемости сайта, так и от самого сайта, от подключённых модулей и т.п. Поэтому оценить какую нагрузку будет создавать тот или иной сайт можно только примерно и при детальном изучении сайта. В данном случае правильнее и быстрее перенести к нам сайт и посмотреть создаваемую им нагрузку.

Нагрузка на CPU характеризует суммарное время (в минутах), затраченное процессорами сервера на обработку процессов вашего аккаунта. Для снижения нагрузки следует оптимизировать ваши скрипты, исключить выполнение длительно выполняющихся, либо требуемых значительных вычислительных ресурсов, процессов.


На некоторых крупных хостингах нагрузка на CPU измеряется в «CP» и на MySQL в «секундах».


Схема работы

Установим сначала демон psacct (RedHat) или acct (Debian).

yum install psacct 

или

apt-get install acct

Демон собирает информацию по всем выполняемым процессам пользователя и записывает это в /var/account. Далее, командой sa мы можем получить информацию по каждому пользователю и его нагрузке. Можно использовать sa с флагом --user-summary:


Первая строка — общее потребление в системе. Далее, построчно, информация о потребляемых ресурсах каждым пользователем. В третьем столбце то, что нам нужно, нагрузка на процессор в CP.

Нагрузка на MySQL

Единица измерения — секунды. Измеряется с помощью Percona User Statistics.

Схема работы

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

К сожалению, для получения статистики на MySQL 5.5 требуется переустановка MySQL.

Вывод информации о нагрузке производится запросом к базе данных INFORMATION_SCHEMA:

SELECT `USER`,`CPU_TIME`  FROM  `USER_STATISTICS`  ORDER BY  `USER_STATISTICS`.`CPU_TIME` DESC;