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

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

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

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

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

0
задан 2 November 2016 в 01:27
1 ответ

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

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

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

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

0
ответ дан 5 December 2019 в 09:17

Теги

Похожие вопросы