On 07/17/2013 07:04 PM, Anton Yuzhaninov wrote:
On 07/17/13 20:50, greenh wrote:
Долгим дебагом с разработчиками выяснили, что проблема в мемкеше, который при
4-6k rps начал захлебываться. Это нормально?

Нет. У нас до 90k get запросов в секунду на persistent connections (memcached 1.4.13), на относительно старом железе (CPU Intel Xeon E5420).

Про мемкешед могу посоветовать:
1. объекты больше килобайта (или нескольких) сжимать (большинство библиотек делают это прозрачно).
2. Там где это возможно использовать getMulti вместо нескольких get
3. постоянные подключения тоже немного помогают.

Еще можно попробовать посмотреть через tcpdump насколько быстро идут ответы на запросы.

Я бы еще добавил что есть два расширения - pecl-memcached и pecl-memcache, первый у меня показывал лучшую производительность. Еще - можно включить binary protocol вместо text, хотя разницы я критичной не заметил. И если используется tcp то перейти на local socket.

Ответить