У меня есть размещенная среда, которая переносится на новое оборудование. Мне нужно дистанционно подчеркнуть эту новую реализацию. Есть ли быстрый и понятный способ сделать это? Мне не нужно ничего особенного, просто переходы по страницам, и это не требует большого объема.
Спасибо!
Вы можете использовать инструменты стресса, которые предоставляет Microsoft:
либо инструмент анализа пропускной способности сети (из рескит) или Инструмент стресса веб-приложения
Я предполагаю, что у вас есть Linux-машина. Если вы его не установите. :)
Это покажет, сколько времени потребуется, чтобы получить 1000 страниц с сервера:
time for i in `seq 1000`; do wget http://127.0.0.1/~elcuco/test.php; done
А как насчет одновременных загрузок? Есть утилита apache benchmark, давайте проведем тест:
ab -c 20 -n 100 http://127.0.0.1/~elcuco/test.php
Это вытягивает 100 страниц, сохраняя при этом 20 одновременных загрузок. Вот демо из реальной жизни, оно самообъясняется.
[elcuco@pinky ~]$ /usr/sbin/ab -c 20 -n 100 http://serverfault.com/questions/22785/stress-testing-a-hosted-iis-server
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking serverfault.com (be patient).....done
Server Software: Microsoft-IIS/7.0
Server Hostname: serverfault.com
Server Port: 80
Document Path: /questions/22785/stress-testing-a-hosted-iis-server
Document Length: 30691 bytes
Concurrency Level: 20
Time taken for tests: 19.642924 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 3151576 bytes
HTML transferred: 3129271 bytes
Requests per second: 5.09 [#/sec] (mean)
Time per request: 3928.585 [ms] (mean)
Time per request: 196.429 [ms] (mean, across all concurrent requests)
Transfer rate: 156.65 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 266 480 506.2 397 3328
Processing: 1227 3236 1559.4 2963 9943
Waiting: 287 495 277.6 443 1836
Total: 1499 3716 1613.2 3433 10285
Percentage of the requests served within a certain time (ms)
50% 3433
66% 4040
75% 4321
80% 4953
90% 6056
95% 6795
98% 9139
99% 10285
100% 10285 (longest request)
Вот и все. http://support.microsoft.com/kb/231282
Application Center Test (ACT), если у вас Visual Studio
Инструмент Web Stress, и если вам нужно что-то не от Microsoft,
Муравьи от Red-gate в прошлом нам хорошо помогали.
NUnitASP если вам нужно что-то бесплатное, которое будет запускать HTTP-запросы на веб-сайте.
Все это позволяет создавать сценарии, которые будут запускать запросы на веб-сервере, чтобы узнать время ответа. Мне нравится ACT, потому что его бегун показывает мгновенное считывание запросов в секунду во время выполнения скрипта.
Несколько параллельных экземпляров "wget --mirror"? > улыбка <Не может быть ничего проще.
Не зная больше об использовании сайтом серверных ресурсов (запросы к базе данных и т. Д.), Трудно дать вам очень конкретную «общую» идею тестирования. Существует множество инструментов нагрузочного тестирования HTTP, как коммерческих, так и с открытым исходным кодом. Если вы знаете, какие именно страницы создают наибольшую нагрузку на сервер, вы можете сосредоточиться на этих страницах с помощью одного из этих инструментов.