2009-03-19 2 views
17

У меня есть повторяющаяся проблема, когда клиент звонит и жалуется, что веб-сайт работает слишком медленно. В частности, если они неактивны в течение короткого периода времени, а затем вернитесь на сайт, будет отложена минута-две минуты, прежде чем пользователь увидит ответ. (в этом случае стандартный браузер - Firefox)Как отслеживать производительность сервера IIS

У меня есть Perfmon, использование процессора обычно ниже 20% (один прок ... не спрашивайте). База данных гудит. И я вытаскиваю свои волосы.

Итак, какие показатели/инструменты вы сочтете полезными при оценке производительности IIS?

+0

Это может быть лучше подходит для Server Fault. –

+1

Может быть, но Server Fault не существует, когда я задавал этот вопрос. –

ответ

21

Надеется, что это помогает:
Best Practices for Speeding Up Your Web Site
Scaling Strategies for ASP.NET Applications
IIS Tuning
14 Rules for Faster-Loading Web Sites
Best practices for creating websites in IIS 6.0
Stanford Computer Cience - High Performance Web Sites
10 Tips for Writing High-Performance Web Applications
Writing High-Performance Managed Applications : A Primer
Nine tips for a healthy "in production" ASP.NET application
Speedy C#, Part 2: Optimizing Memory Allocations - Pooling and Reusing Objects
Memory Usage Auditing For .NET Applications
Troubleshooting HTTP Compression in IIS 6.0
Maximizing IIS Performance - 25 tips
Optimizing IIS 6.0 Performance
Page Speed - an open-source Firefox/Firebug Add-on
Performance Testing Guidance for Web Applications
Top 10 Performance Improvements in IIS 7.0
CHAPTER 6 Optimizing IIS 6.0 Performance
Performance Tuning Guidelines for Windows Server 2003 - Performance Tuning for IIS 6.0
ASP.NET Performance Tips
IIS 6.0 Tuning for Performance - by Peter A. Bromberg, Ph.D.
Improving .NET Application Performance and Scalability - by MS
Optimizing and Performance Tuning IIS 6.0
12 Steps To Faster Web Pages With Visual Round Trip Analyzer
Thread: IIS 6 performance tweak guide (draft)
CPU Settings for an Application Pool IIS6 e IIS7

большие улучшения советы:
Running ASMX Web Services on STA Threads
Scale Net

Мера, теа Конечно, мера:
Load Test Ваш сайт
Show Slow
Performance Monitor Wizard
Two Minute Drill: Introduction to XPerf
Suggested Performance Counters to Watch (IIS 6.0)

Посмотрите, что сделал лучшие сайты:
Benchmarks
TOP 100

Больше ресурсов:
Learn papers

Мой опыт говорит:
- Включить сжатие (GZIP/Deflate) в IIS, для статических данных. Простота реализации и отличные результаты.
- если процессор не является вашей проблемой, попробуйте включить сжатие для динамических данных.

+3

Хорошо, много ссылок хорошо, но как насчет некоторых советов, основанных на * вашем * опыте, тоже? –

+1

Мой опыт говорит: Оцените каждый случай и примените его результаты. Я даю варианты. – lsalamon

12

Для вашего конкретного случая вам необходимо увеличить опцию idle-timeout в IIS, потому что эта задержка связана с тем, что ASP.NET загружает двоичные файлы и запускает ваше приложение. Значение по умолчанию - 20 минут, поэтому, если никто не обратится к сайту в течение 20 минут, IIS отключит процесс, и следующий запрос займет много времени.

+0

У вас есть рекомендация относительно того, для чего нужно установить значение? Я сменил шахту на 60 минут как стартер. –

+0

Это зависит от того, сколько трафика получает ваш сайт. Я бы сказал, что если вы принимаете <100 посетителей/день, это должно быть около 24 часов. Таким образом, если вы не получите никакого трафика в нерабочее время, ваш сайт будет реагировать на следующий день. – Alex

+2

@Chris вы обычно не хотите, чтобы он был тайм-аутом вообще, если вы используете свой собственный сервер, и на коробке больше ничего не осталось. Вы всегда хотите, чтобы ваш сайт был мгновенным? –

4

Возможно, пул приложений закрыт, когда есть период бездействия? Пул приложений займет некоторое время, чтобы начать резервное копирование.

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