2016-04-08 3 views
0

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

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

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

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

+0

Бросить оборудование на него. –

ответ

0

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

Оформить заявку this, ее старый, но все же применяемый вид. Возможно, я посмотрю в веб-сад. Есть случаи, когда вы не должны использовать их, хотя сначала делаете некоторые исследования. Удостоверьтесь, что аппаратное обеспечение коробки не достигает своих пределов. Если оперативная память и процессор берут избиение, любые измененные вами настройки могут ухудшить ситуацию.

0

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

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

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

+0

Мы планируем переписать этот код в будущем, но мы не можем коснуться кода или базы данных. Уже есть два конечных пункта. Один, как вы сказали, просто захватывает xml и помещает его в таблицу. Второй - 3 раза в секунду службой планировщика. мы хотим поразить эту конечную точку, скажем, 30 раз в секунду, но она не работает достаточно быстро, чтобы достичь этого. – Aref

+0

Включает ли «не касаясь базы данных» не запись новых хранимых процедур? Вы можете получить пробег от записи новых хранимых процедур, которые выполняют вставки в пакетах с использованием параметров табличного значения. Это хорошо работает, когда у вас есть несколько таблиц, а первичные ключи, созданные из одной вставки, ссылаются на последующие вставки. Если это вариант, я могу подробнее остановиться на нем. –

Смежные вопросы