Этот вопрос может / не может быть связан с программированием, но существует огромное количество программистов, которые могут знать, что это такое.
Мы опубликовали веб-приложение ASP.NET MVC2, которое использует Linq на веб-сервере с IIS 7.5.
Это веб-приложение автоматически копируется и обслуживается 2 другими серверами благодаря распределенной файловой системе, установленной на всех 3 серверах.
Таким образом, всего есть 3 веб-сервера на 3 разных машинах с настроенным балансировщиком нагрузки.
Теперь с этой конфигурацией наше веб-приложение делает некоторые странные вещи, такие как обработка транзакции, когда есть две вставки в две таблицы, и данные вставляются только в одну таблицу, или он просто выбирает по идентификатору (который является первичным ключом) и возвращает более одна запись. Также есть некоторые проблемы с конверсией и другие.
Проблема возникает только тогда, когда на сайт попадает огромное количество посетителей. В противном случае все в порядке. Очень любопытно, что когда включен только один сервер, а два других выключены, все работает нормально (немного медленнее) даже при огромном количестве пользователей (стресс-тест). Нет ошибок, нет исключений.
Также мы запускаем стресс-тест на статической странице (которая не получает никаких данных из базы данных) со всеми 3 серверами, и это также работает.
Кто-нибудь еще имел эту проблему?
Для веб-приложения мы используем C # Asp.Net MVC2, шаблон репозитория, linq to sql
Сервер: MS Windows 2008 R2, MS SQL 2008 R2