Назад | Перейти на главную страницу

Безопасно ли для сервера, на котором запущен http API, использовать 100% ЦП?

У меня есть API (на основе php и подключение к отдельному серверу базы данных mysql), который вызывается много раз, и вызывающее его программное обеспечение может долго ждать результата и не будет вызывать API, прежде чем он получит это результат текущего звонка, время ответа здесь тоже не имеет значения.

Сам API также не заботится о времени выполнения.

Итак, мой вопрос: когда загрузка сервера (сервер ubuntu 16.04, Apache, php5) достигает 100%, может ли API по-прежнему работать должным образом с увеличенным временем обработки и задержкой?

Или будет какое-то скопление мусора в ОЗУ или что-то, что в конечном итоге убьет сервер, и мне нужно будет его перезапустить?

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

Если вы посмотрите на вывод top вы увидите несколько полей для использования ЦП, включая пользователя, систему, Nice, Idle, IOwait, Hard IRQ, soft IRQ и Steal. Вы также сможете расширить свои процессоры, используя 1 чтобы увидеть это использование по ядрам. Кажется, это не имеет непосредственного отношения к вашей ситуации, но это скорее подсказка, когда вы спрашиваете об использовании.

Использование ЦП не повлияет на сборку мусора или фрагментацию ОЗУ, а запуск сервера с высокой нагрузкой не должен вызывать его нестабильность, если он настроен правильно (значения по умолчанию здесь почти всегда в порядке - поэтому они по умолчанию).

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