Возникла проблема при установлении соединения с базой данных. 99.9% коннектов проходило за милисекунды, но единичные выстрелы проходили или за 3 или за 5 секунд в зависимости от ОС (Linux, FreeBSD). Причём промежуточных значений не было. Локализация показала, что проблема при установлении большого числа tcp соединений в короткий отрезок времени. Спасибо, техническому директору и админам, что решение было найдено достаточно быстро.
Надо было увеличить сетевые буферы.
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
Конечно, самым быстрым и простым решением в данной ситуации были бы персистентные соединения, но случилось так, что у нас их использовать нельзя.
После этого мы столкнулись с другой проблемой - закончились порты, но это уже другая история.
Подписаться на:
Комментарии к сообщению (Atom)
3 комментария:
> После этого мы столкнулись с другой проблемой - закончились порты, но это уже другая история.
например это решается так
WBR, Bliznezz.
сорри, в предыдущем каменте ссылку зарезало
http://w2a.ru/blog/linux/345.html
WBR, Bliznezz.
Bliznezz спасибо за совет, учту.
Отправить комментарий