Повышение производительности однопоточного старого кода.NET 1.1 без касания кода

У нас есть очень старый веб-сервис, который вызывается сервисом планировщика. Максимальная производительность, которую нам удалось получить, составила 300 мс, поэтому планировщик может вызывать ее максимум 3 раза в секунду. Сейчас мы испытываем гораздо большую нагрузку, поэтому нам нужно ускорить работу веб-службы.

Что делает веб-служба, так это получает массивный xml и сохраняет его во множестве таблиц в ужасно спроектированной базе данных. Он был написан на.NET 1.0, и мы не можем перекомпилировать этот код!

Мы перепроектируем и переписаем этот код, чтобы лучше работать с неприкасаемой базовой базой данных, однако на данный момент нам нужно как можно быстрее ускорить этот веб-сервис.

Мой вопрос заключается в том, что можно сделать со временем выполнения Windows, IIS, .NET и т. Д., Чтобы повысить пропускную способность страницы.NET 1.1 ASP.NET? (не касаясь кода)

2 ответа

Чтобы уточнить - вы планируете "коснуться кода" - но веб-сервис, а не базы данных?

Документы XML поступают стабильными, последовательными темпами или у вас есть периоды повышенной активности?

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

Существует множество настроек, которые помогут улучшить производительность IIS, но в этом случае все они могут оказаться бесполезными.

Проверьте эту статью, это старая, но все еще вид применений. Я мог бы заглянуть в веб-сад, возможно. Есть случаи, когда вы не должны использовать один, хотя сначала проведите некоторое исследование. Убедитесь, что аппаратное обеспечение коробки не достигает своих пределов. Если ОЗУ и ЦП бьются, любые измененные вами настройки могут ухудшить ситуацию.

Другие вопросы по тегам