2009-09-21 2 views
0

Я знаю, что я видел метод на PHP, который при вызове даст мне текущий статус процессора, но я не могу его запомнить, и поисковые запросы Google не придумывают ничего для меня.Текущий статус сервера

В принципе, у меня есть чат-программа, и мне нужно убедиться, что она не наносит урон серверу. Поэтому я хотел бы, когда сообщение будет опубликовано (поскольку это единственный раз, когда используется PHP, иначе просто прямой .txt-файл), проверьте, что такое статус сервера. Таким образом, я могу регулировать, как часто запросы ajax отправляются клиентом в зависимости от состояния сервера.

+0

Хорошее мышление - как побочное примечание, я бы, вероятно, тайно запустил страницу статуса на несколько секунд, таким образом ваши клиенты не будут забивать функцию получения нагрузки процессора :): –

+0

Да, он кэшируется. Он фактически отправляется обратно как часть ответа JSON с новыми сообщениями (в .txt-файле) –

ответ

5

Если вы на сервере под управлением Linux на базе, вы можете использовать sys_getloadavg, который поможет вам средняя загрузке системы:

Возвращает три образца, представляющих средней загрузки системы (количество процессов в очередь запуска системы) за последние 1, 5 и 15 минут, соответственно.

Это должно быть лучше, чем использование «моментального снимка» загрузки процессора в данный момент времени: значения 1 минута и 5 минут весьма интересны, так как они дают среднее значение за короткий промежуток времени ,

Он также дает больше учета того, что только загрузка ЦП - для получения дополнительной информации вы можете взглянуть на Load average page on wikipedia.


Обратите внимание, что эта функция не реализована на платформе Windows.

Это означает, что вам нужно будет сделать этот вызов условным, в зависимости от базовой операционной системы.

+0

Спасибо! Это именно то, что я искал. Я нахожусь в ящике Linux, так что отлично работает. –

+0

Добро пожаловать :-) Удачи! –

Смежные вопросы