2010-05-01 2 views
1

Я создаю проект, в котором сервер получает операции от клиентов для применения к локальному серверному документу. Сервер и клиент совместно используют один и тот же документ, и поэтому каждое сообщение, отправленное клиентом, содержит хеш MD5, с которым сервер сравнивается после генерации собственного хеша, чтобы обеспечить синхронизацию документов сервера и клиента.Проверка загрузки сервера с помощью PHP и принятия соответствующих мер

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

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

ответ

3

Предполагая, что вы находитесь под Linux, вы можете получить средние значения загрузки процессора, прочитав из файла /proc/loadavg, который содержит 3 числа, разделенных пробелами. Вы также можете вызвать команду uptime из php exec('uptime') и проанализировать ее вывод, который также содержит средние нагрузки (среди прочего).

Как интерпретировать средние значения нагрузки - обычно я принимаю 1.0 * cores как максимальную полезную нагрузку. Поэтому, если у вас есть 4 ядра, то что-то выше 4.0 указывает, что процессор делает некоторые тяжелые вычисления и лучше подождать.

+0

Я знал об этом, но надеялся, что будет более простой кросс-платформенный способ. Но спасибо. –

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