Справочная информация:
Корпоративное приложение - очень будет написано для своего времени в 2004 году.
Stack:
.NET, интенсивное использование удаленного взаимодействия, веб-службы в стиле ASMX, SQL Server
Проблема:
Приложение позволяет пользователю просматривать различные мастера из-за отсутствия лучшего термина, все их действия хранятся в том, что мы называем «состояние wiz», которое, по сути, представляет собой XML, который очень часто сохраняется в базе данных сервера SQL, потому что мы позволяем пользователям приостановить / возобновить их применение. Часто в этих мастерах XML-код, содержащий состояние мастера, становится очень большим, я говорю о 5-8 МБ данных, и мы заметили, что, когда у нас внезапный поток одновременных пользователей, мы начали получать случайные тайм-ауты для базы данных, потому что многое из того, из чего состоит состояние волшебника, - это отслеживание коллекций «вещей». Иногда эти пользовательские коллекции становятся очень большими.
Вопрос:
Сегодня мы были на собрании, и мы ожидаем, что в октябре начнется бурная деятельность, которая протестирует систему, как никогда раньше, и, возможно, приведет к огромным состояниям мастера, которые возвращаются с веб-сервера в базу данных и обратно. Суть ситуации в том, что существует только одна база данных и один веб-сервер.
В качестве аргументов, из-за сложности приложения, скажем, о добавлении любого вида кластеризации / зеркалирования для увеличения пропускной способности базы данных не может быть и речи. Я выступил на собрании и сказал, что самым быстрым способом решения этой проблемы в кратчайшие сроки будет добавление большего количества серверов в интерфейсное веб-приложение, чтобы нагрузка могла быть распределена между веб-серверами. Руководитель разработки сказал, что я совершенно не прав, и это не будет иметь никакого эффекта, потому что у нас есть только одна база данных, поэтому добавление большего количества веб-ресурсов ничего не даст. У него есть один из других разработчиков, чтобы уменьшить количество раздувания XML, которое мы часто сохраняем в базе данных. Вероятно, в долгосрочной перспективе уменьшение размера xml, который мы передаем туда и обратно, является правильной идеей, но добавление дополнительных веб-серверов действительно не даст никакого эффекта, я просто думаю, что с точки зрения одновременных пользователей, это должно Помогите.
Любые ответы приветствуются, доказательство того, что большее количество веб-серверов поможет, будет чистой победой.
Спасибо.
РЕДАКТИРОВАТЬ : Мы используем двоичную сериализацию для хранения XML в базе данных в поле изображения.