Что все могут мы делать для создания веб-приложения asp.net запущенным быстрее, чем прежде. Что вся тонкая настройка требуются для него?
Чтобы заставить любое приложение работать быстрее, сначала узнайте, где оно проводит время, а затем заставьте его проводить там меньше времени. Используйте профайлер.
Профилировщик упрощает процесс разбиения приложения на более мелкие кусочки, а затем ускоряет работу отдельных кусочков. Это можно сделать самостоятельно, если вы не можете позволить себе профилировщик.
Например, вы говорите, что среднее время отклика составляет 4-5 секунд. Это долгое время. Что происходит за эти 5 секунд? Все это ждет базу данных? Вы можете попробовать запустить свои запросы вне приложения, чтобы посмотреть, сколько времени они займут. Вы можете запустить профилировщик SQL Server для записи транзакций в базе данных за определенный период времени, а затем запустить результат с помощью Мастера настройки базы данных. Он может иметь некоторые рекомендации по изменению индексов базы данных.
Вы можете использовать Fiddler, или включить трассировку страниц, чтобы узнать, не слишком ли велики ваши страницы. Трассировка может подсказать вам, сколько времени занимают определенные этапы работы со страницей. Может быть, вам требуется много времени для рендеринга определенных страниц.
Кроме того, вам нужно посмотреть на производительность вашего сервера. Вы используете слишком много процессора? Слишком много памяти? Вы тратите время на обрезку страниц, выбивая страницы рабочего процесса ASP.NET из памяти, чтобы принести страницы SQL Server, только для того, чтобы эти страницы были выбиты, когда запрос к базе данных закончен и рабочий процесс должен быть запущен снова?
Разбейте проблему на мелкие кусочки, затем исправьте их.
.Кэширование -- как страницы, так и данных -- и оптимизация доступа к данным, вероятно, являются ключевыми элементами повышения производительности без изменения аппаратного обеспечения. Кроме того, вы можете обратить внимание на кластеризацию/балансировку нагрузки, чтобы сделать доступными дополнительные ресурсы.
.Это большая тема, но главное, что приходит на ум:
Также есть вещи, не относящиеся кasp.net, например:
Вам также может быть полезен этот вопрос:
https://stackoverflow. com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site
Я согласен с кэшированием. ASP.NET имеет отличные встроенные механизмы кэширования.
Я бы также порекомендовал профилировать приложение, как это уже было рекомендовано выше.
Вот ссылка на статью о некоторых бесплатных .NET профилировщиках, а также платных.
http://www.devcurry.com/2009/11/free-net-profilers-and-some-paid-ones.html
редактирование: вы, возможно, захотите посмотреть и на этот поток StackOverflow
https://stackoverflow.com/questions/308816/any-good-free-net-profiler
Надеюсь, это поможет.
.Настройка производительности для ASP.NET - большая тема. На самом деле, пытаясь дать исчерпывающий ответ на Ваш вопрос, я написал книгу об этом: Сверхбыстрая ASP.NET: Построение ультра-быстрых и ультра-масштабируемых веб-сайтов с ASP.NET и SQL Server.
С высокого уровня:
Мой подход в основном предписывающий, а не теоретический. Вы можете взглянуть на обзоры Amazon, чтобы узнать больше о том, что я имею в виду.