Решит ли Ncache Express эту проблему с масштабируемостью или мне нужно будет обновить ее до премьерной версии?
У меня есть сайт asp.net-mvc3, использующий nhibernate и SQL-сервер. У меня есть 2 веб-сервера, которые загружены сбалансировано. Это тяжелая база данных для чтения (не так уж сильно связанная с производительностью записи), но по мере того, как запросы становятся все более и более сложными (много объединений таблиц), производительность значительно снижается.
Судя по комментариям, которые я прочитал, самой большой победой было бы использование распределенного кэша. Я посмотрел на бесплатные опции для окон, которые поддерживают nhibernate, и я нашел NCache Express. Я собираюсь провести кучу тестов и игр, но я хотел увидеть (прежде чем потратить впустую много времени), ограничат ли меня эти экспресс-версии в плане работоспособных решений. Я вижу сравнения версий здесь, и я не думаю, что вижу какие-либо блокировщики, но хотел бы получить обратную связь от любого, кто использовал NCache Express с nhibernate, чтобы увидеть, есть ли какие-либо проблемы.
Кроме того, если есть альтернативные предложения продуктов для более эффективного решения этой проблемы, это было бы здорово.
4 ответа
Как упоминалось ранее, вы должны сначала оптимизировать свою базу данных, но, конечно, вы уже делаете это.
Я также работаю над веб-сайтом с двумя серверами, и в процессе выбора поставщика кеша я выбрал MemcacheD. Это очень надежно и очень просто в настройке. NCache Expresse тоже будет работать нормально, здесь нет никаких загадок, но я рекомендую использовать Memcache, потому что NCache Express имеет ограничение на 2 сервера, поэтому, если вам когда-нибудь понадобится добавить дополнительный узел, вам все равно придется изменить.
Кроме того, если на ваших серверах установлена Windows 2008, вы должны проверить Microsoft AppFabric, это очень хорошо.
Используйте это, чтобы оценить, какие функции требуются от NCache, например, зависимости SQL и прочее http://www.alachisoft.com/ncache/edition-comparison.html
Кроме этого я не думаю, что вам потребуется обновить
а что касается альтернатив, я не использовал много, так что я ничего не могу сказать по этому поводу:)
PS: Replicated отлично подходит для приложений с интенсивным чтением и плохо для интенсивного чтения.
Вы пробовали, Microsoft Velocity?
Вы можете попробовать appfabric в качестве кеша второго уровня nhibernate. Вы должны запустить его на отдельных серверах для узлов вашего приложения.