可靠性或稳健性测试Web服务器

时间:2014-07-01 11:28:17

标签: asp.net .net testing architecture

我刚刚为asp.net MVC控制器构建了一个概念验证,以(1)使用条形码渲染框架从用户输入生成条形码,(2)使用wkhtmltopdf.exe将其嵌入到PDF文档中

在告诉我的客户这是一个有效的解决方案之前,我想知道它不会打倒他们的网站。我主要担心的是长期可靠性 - 例如,为wkhtmltopdf.exe创建和处理非托管系统进程可能会泄漏一些东西。 (峰值性能和负载预计会出现这样的问题 - 在峰值时每分钟只有少量请求。)

因此,我从Windows命令行运行了几个测试:

(1)1,000个顺序请求(即每次1个)

for /l %i in (1,1,1000) do curl ^
"http://localhost:8003/Home/Test?text=Iteration_%i___012345&scale=2&height=50" -o output.pdf

(2)在2秒内发送最多40个请求

for /l %i in (1,1,40) do start "Curl %i" curl ^
"http://localhost:8003/Home/Test?text=Iteration_%i___012345&scale=2&height=50" -o output%i.pdf

我在perfmon之前,之中和期间记录了一些性能计数器。后。具体来说,我会专门查看计算机和IIS进程上的总进程,线程,句柄,内存,磁盘使用情况。

所以,我的问题:

1)您认为该解决方案降低服务器风险的可接受证据是什么?你会修改我所做的,或者你会做一些完全不同的事情吗?

2)鉴于我对可靠性的关注,我认为'之前'与'之后'数字是我最关心的数字。同意与否?

3)看看之前与之后的数据,我看到的唯一问题是“处理总处理数”。我得出结论,启动wkhtmltopdf.exe将近一千次可能没有泄露任何东西或破坏了机器的稳定性。但我可能错了,应该在几小时或几天内进行相同的测试以降低怀疑程度。同意与否?

(风险等级:如果它变成梨形,那么几个人的工作可能会在线。网站的收入是每小时1,000英镑。

我的perfmon结果如下。

序列中的700个请求

                                1-5 Mins                                 10 Mins
Counter                      Before Test        Min     Ave     Max   After Test
System
System Processes                       95         97     100     101           95
System Threads                       1220       1245    1264    1281         1238
Memory Available MB                  4888       4840    4850    4868         4837
Memory % Committed                     23         24      24      24           24
Processes Total Handle Cou          33255      34147   34489   34775        34029
Processor % Processor Time       4 to 30          40      57      78     1 to 30
Physical Disk % Disk Time               1          0       7      75     0 to 30
IIS Express
% Processor Time                        0          0       2       6            0
Handle Count                          610        595     640     690          614
Thread Count                           34         35      35      35           35
Working Set                           138        139     139     139          139
IO Data KB/sec                          0        453     491     691            0

在2秒内发送20个请求,然后在3秒内发送40个请求

                                1-5 Mins                                10 Mins
Counter                      Before Test        Min     Ave     Max     After Test
System
System Processes                       95         98     137     257           96
System Threads                       1238       1251    1425    1913         1240
Memory Available MB                  4837       4309    4694    4818         4811
Memory % Committed                     24         24      25      29           24
Processes Total Handle Cou          34029      34953   38539   52140        34800
Processor % Processor Time       1 to 30           1      48     100     1 to 10
Physical Disk % Disk Time        0 to 30           0       7     136     0 to 10
IIS Express
% Processor Time                        0          0       1      29            0
Handle Count                          610        664     818     936          834
Thread Count                           34         37      50      68           37
Working Set                           138        139     142     157          141
IO Data KB/sec                          0          0     186    2559            0

0 个答案:

没有答案