В нашем проекте мы используем memcached (реализация от Couchbase) и официальный .NET клиент к нему.
Недавно купили новые сервера на продкашн, и на них катастрофически медленно работает этот самый клиент.
Я написал простую нагрузочную программу, чтобы сравнить производительность клиента на разных машина.
Просто получение ключа в бесконечном цикле:
_client = new CouchbaseClient();
_client.Store(StoreMode.Set, _key, _value);
while (true) {
_client.Get(_key);
}
На моей рабочей машине этот код дает на локальный memcached сервер нагрузку 35к запросов в секунду.
На новом сервере он же дает только 4к в секунду. То есть в 9 раз медленнее!
Разница просто огромная, и мы уже сломали голову, пытаясь понять причины.
Вот конфигурации вышеупомянутых машин:
Рабочая машина:
Windows 7 Professional x64
Core i7-2600 3.4GHz
8Gb RAM
Сервер:
Windows 2008 R2 Enterprise x64
2x Xeon E5645 2.4GHz
48Gb RAM
Версии сервера и клиента одинаковые — последние.
Помогите, пожалуйста, понять причину такой разницы в производительности.