对托管 IIS 服务器进行压力测试

对托管 IIS 服务器进行压力测试

我有一个托管环境,正在迁移到一些新硬件。我需要远程强调这个新实现。有没有快速干净的方法来做到这一点?我不需要任何花哨的东西,只需要页面点击,而且不需要有大量的点击量。

谢谢!

答案1

您可以使用 Microsoft 提供的压力工具:

Web 容量分析工具(来自恢复) 或者Web 应用程序压力工具

答案2

我假设你有一台 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)

答案3

答案4

多个并行的“wget --mirror”实例?>微笑< 没有比这更简单的了。

如果不了解网站对服务器端资源(数据库查询等)的使用情况,很难为您提供一个非常具体的“通用”测试思路。目前有很多 HTTP 负载测试工具,既有商业的也有开源的。如果您知道哪些特定页面会产生最多的服务器端负载,那么您可以使用其中一种工具专注于这些页面。

相关内容