Everything_is_bad,
реальность 1.
nginx с сжатием gzip по максимуму для отдающихся текстовых файлов грузит CPU в "полку" на 100% и обслуживает некоторое количество подключений и выдает отказы в обслуживании
реальность 2.
nginx c gzip с минимальным сжатием (уровень 3) для тех же файлов гузит CPU только на 80-85% и обслуживает большее количество подключений, чем с максимальным сжатием, но есть отказы в обслуживании
реальность 3
nginx c gzip с минимальным сжатием (уровень 3) для тех же файлов с распределением нагрузки по 2-м серверам без отказов в обслуживании обслуживает реальную нагрузку на 5-10% большую, чем в "реальности 2" (больше просто пользователи реально не создают) .
Вопрос: что мешает в "реальность 2" обслужить эти 5-10%? явно не CPU/RAM/IOPS
единственное обнаруженное, что отличает по набору снятых метрик в "реальность 2" и "реальность 3" -- Context switch per second 1.3млн
Цель не нагрузить 100%, цель понять почему не грузится больше.
Если смотреть на CPU/RAM/IOPS то сервер может обработать бОльшую нагрузку.
Вопрос какое "узкое место" не дает это сделать на реальной нагрузке, но дает - на синтетике.
Чем регламентирована величина именно 1.3млн??
Вопрос -- что мешает ему подрасти еще немножко :)