Возможно ли включить в продукт фичи angie?
Maxim Dounin
mdounin на mdounin.ru
Сб Авг 23 13:15:21 UTC 2025
Hello!
On Sat, Aug 23, 2025 at 12:54:13PM +0300, Peter Volkov wrote:
> Да, этот модуль мы смотрели, у него есть проблема с
> производительностью. Прямо в readme написано, что нужно исправлять, но
> пока этого никто не сделал.
>
> TODO:
> Add an implementation that periodically updates computed statistic in
> each worker processes to shared memory to reduce the contention due to
> locks when using ngx_shmtx_lock().
А вы эти проблемы с производительностью наблюдали, или сделали
вывод исходя из записи TODO? Потому как получить lock contention
при большом количестве процессоров и рабочих процессов конечно,
можно, но это не очень тривиальная задача.
И, скажем, какой-нибудь proxy_cache от той же проблемы страдает
примерно так же, ибо тоже использует зону разделяемой памяти для
хранения ключей. Простой метод лечения, если вдруг lock
contention действительно наблюдается - сделать несколько зон
разделяемой памяти и поделить запросы между ними. Насколько я
вижу по коду, VTS это должен уметь.
Собирать статистику через промежуточные хранилища в рабочих
процессах, безусловно, эффективнее, чем напрямую в разделяемую
память, но и сложнее технически, так что вполне понятно, почему
этого пока не сделано, особенно если на практике проблемы нет.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru