Почему мембранный сервер так медленно реагирует? - PullRequest
0 голосов
/ 14 августа 2011

У меня проблема в том, что в моей среде очень медленно работает мембрана. Я использую несколько рабочих серверов (Passenger) на рельсах 2.3.10 ruby ​​1.8.7. Эти серверы взаимодействуют с 2-мя мембранными компьютерами в кластере.

на каждой мембранной машине имеется 64 ГБ памяти и 100 ГБ EBS, подключенных к 1 ГБ.

Моя проблема заключается в том, что у blease ОЧЕНЬ медленное время отклика, и на самом деле это самая медленная часть сейчас на протяжении всего жизненного цикла приложения.

мой вопрос: почему?

камень рельсов, который я использую, - memcache-northscale. мембранный сервер - 1.7.1 (последний).

Сервер выполняет между 2K-7K операций в секунду (для кластера)

Время отклика от мембраны (на основе NewRelic) в среднем составляет 250 мс, что ОГРОМНО и неразумно.

Кто-нибудь знает, почему это происходит? Что я могу сделать, чтобы улучшить это время?

Ответы [ 2 ]

2 голосов
/ 15 августа 2011

Трудно сразу сказать, имея под рукой данные, но я думаю, у меня есть несколько вещей, которые вы, возможно, захотите изучить, чтобы сузить суть проблемы.

Прежде всего, показывает ли ваша статистика с мембраной значительное количество фоновых извлечений? Это в статистике веб-интерфейса для "чтения диска в секунду". Если это так, то это вероятный виновник более высоких задержек.

Подробнее о статистике и размерах можно прочитать в руководстве , в частности в разделах, посвященных статистике и вопросам проектирования кластеров.

Во-вторых, вы сообщаете в среднем 250 мс. Это скользящая средняя или в целом? У вас есть что-то вроде максимальной 90-й или максимальной 99-й задержки? Некоторые извлекаемые извлечения диска могут дать вам большое среднее значение, когда большинство запросов (например, из оперативной памяти, которые не нуждаются в извлечении дисков) на самом деле довольно быстрые.

Распределены ли ваши системы по зонам доступности? Какие примеры вы используете? Находятся ли клиенты и серверы в одном регионе Amazon AWS? Я подозреваю, что ответ может быть «да» на первый, что означает около 1,5 мс при использовании экземпляров xlarge из недавних измерений. Это может иметь значение, если вы выполняете много выборок синхронно и последовательно в данном методе.

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

Наконец, есть обновленный драгоценный камень Ruby, обратно совместимый с фауной. Couchbase, Inc. работает над тем, чтобы вернуть Фауну вверх по течению. Если возможно, вы можете попробовать гем, на который ссылаются здесь: http://www.couchbase.org/code/couchbase/ruby/2.0.0

0 голосов
/ 01 сентября 2011

Вам также захочется взглянуть на запуск Moxi на стороне клиента.Получая доступ к Membase, вы должны пройти через прокси (называемый Moxi).По умолчанию он установлен на сервере, что означает, что вы можете сделать запрос на один из серверов, у которого фактически нет ключа.Мокси пойдет и возьмет его ... но тогда вы удвоите сетевой трафик.

Установка Moxi на стороне клиента устранит этот дополнительный сетевой трафик: http://www.couchbase.org/wiki/display/membase/Moxi

Perry

...