条件有限,我只做了个本机测试,在本机上建立WIN2000 ADVANCE SEVER+IIS的Web Service.一个很简单的组件,在COM+应用里注册。
分别做ASP和ISAPI的模块,做同样的事情:创建组件,读取配置(一个字符串),释放组件。
客户端是用winInet函数写的,创建100个线程,并且等待一个信号。当信号发生,100个线程同时去用http方式访问同一个url,计算http request发出到结束的时间。分别对ISAPI和ASP的url进行了多次测试,结果是ASP的效率高一点,无论是平均时间,单次最大时间和单次最小时间都比ISAPI要短200~500ms  :P 。这样的测试不知道有没有意义!据说ASP本身也是用ISAPI写的。
我的ISAPI程序是MFC模板生成的,这个会不会影响速度?
因为我们做的是有大量用户访问的web service,ASP和ISAPI都是可选方案。如果能有什么方法评价这两种方案的效率就好了。

解决方案 »

  1.   

    我想asp一定比isapi好,新的东西一定是对旧的东西的改进,尽管可能会有新的问题出现。而且就算asp是用isapi实现的,那也是很多专家根据很多积累的经验写的,基本上会比你自己写的要好。但是你的试验是否有意义我就说不清了。也许从学习的角度上来讲是有意义的。但对你的工程是否有意义就很难讲了。举一个例子,在分布式数据库中,同样的sql语句对不同的数据分布的操作的效率是不同的。具体问题具体分析。如果我是你,我会尽力模拟实际环境去测试,但是我不会把赌注都押在试验的结果上。
    希望有帮助。
      

  2.   

    开玩笑吧,ASP执行前要用ISAPI解析,怎么可能比ISAPI快...一般情况下 ISAPI 首次启动会比较慢,有时还会超时,我想你测试时是把 ISAPI 的首次启动时间加进去了吧