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)
您可以使用 Microsoft 提供的压力工具:
Web 容量分析工具(来自reskit)或Web 应用程序压力工具
我假设你身边有一台 Linux 机器。如果你不安装一个。:)
这将计算从服务器拉出 1000 个页面需要多少时间:
现在,并发负载怎么样?有一个名为“apache benchmark”的实用程序,让我们做一个测试:
这会拉出 100 个页面,同时保持 20 个并发下载。这是一个真实的演示,它是自我解释的。
给你。http://support.microsoft.com/kb/231282
如果您有 Visual Studio,则应用程序中心测试 (ACT)
网络压力工具,如果你想要一些非微软的东西,
Red-gate 的ANTS过去为我们做得很好。
NUnitASP如果你想要一些免费的东西,它会在网站上触发 HTTP 请求。
所有这些都允许您构建将在 Web 服务器上触发请求以查看响应时间的脚本。我喜欢 ACT,因为它的运行器在脚本运行时显示每秒请求的瞬时读数。
多个并行“wget --mirror”实例?>smile< 没有比这更简单的了。
如果不知道更多关于站点使用服务器端资源(数据库查询等)的信息,很难给你一个非常具体的“通用”测试想法。有很多 HTTP 负载测试工具,商业的和开源的。如果您知道哪些特定页面会产生最多的服务器端负载,则可以使用其中一种工具专注于这些页面。