讨论:我发现用Delphi开发的ISAPI读SQL库程序,基本上都不通过200个用户的并发测试(50分)

  • 主题发起人 主题发起人 mrzj
  • 开始时间 开始时间
M

mrzj

Unregistered / Unconfirmed
GUEST, unregistred user!
我为了测试isapi性能写了一个最简单的用ado读sql库的程序,然后用visual.net的测试程序测试了一下,发现几个用户并发测试5分钟一点问题也没有,可是200个就不成了,我用的web服务器软件是iis5.0

同样功能的cgi程序,200个用户就没问题,但是isapi和cgi在测试的时候,cpu全被占用100%

同样功能的asp程序,200个用户没问题,而且cpu占用率极低。

测试结果给我的印象是,复杂的web应用使delphi,其它的用asp或jsp就成。
 
用的是sql server 2000吗。如果是,可以不用ado和bde,直接用 http 协议
读取数据,以XML格式.
 
我重新测试了一下,200个并发测试5分钟,isapi还能全过,但是当600个并发的时候,只要是Isapi就不成,不管是否操作数据库,但是纯htm文件就成。
使用的是win2000+sql2000+ii5

我估计目前大部分的网站都经不起大用户量并发测试
 
软件环境,win2000+iis5,sql2000,只打开sql库然后关闭它,二层结构
硬件环境,p4 1.7G 256M,ide硬盘
用vc.net测试工具,用户数设成200

使用cgiexpert写的isapi,支持60次/秒偏上;
使用webmodule写的isapi,支持100次/秒偏下;
只要是cgi,支持20次/秒;

最简单的htm文件,支持400次/秒偏上
最简单的asp文件,没有操作数据库,支持200次/秒偏下
 
看看以前高手讨论的旧贴吧:0573246,虽然是将COM的但也有借鉴之处
我看了是受益良多:)
"比起做传统应用来,web应用更加考验程序员的基本功,因为你写的代码基本上24小时不停
的在运行,速度,内存的使用,共享,线程锁定都需要仔细推敲,大量的测试后才能最终
定夺。有时候在lan上面跑得很好的程序,一到真实的internet环境下就不行了"
所以我觉得你用最简单的测试方法,反而可能无法测出ISAPI的性能,因为很多设置都是默认
的.
这个问题我也很感兴趣,请多指教!
 
to mrzj
你的测试程序在那里可以下载呢?麻烦告诉我下载地址,谢谢了。
 
to 枫

用微软的visual studio.net,全套有 7个光盘,包括vc++、c#、asp.net等,也包括我用到的测试网站效能的软件。盗版有卖的
 
ASP也是ISAPI啊,它还要引用VBS的COM引擎,怎么它的速度反倒可以。
 
to mrzj,对老兄提出的问题,很有兴趣~希望大家可以继续讨论~

但不知道老兄可否说说VS.Net下测试工作的具体用法好吗?

另:如果我没有猜错的话,老兄说的工具应该是“Microsoft Application Center Test”
吧??
 
感兴趣,我用Delphi6写CGI程序也是用ADO连SQL2000,但我却报错,关了ADO连接没有问题,
我想知道你是怎么做的
 
后退
顶部