ISAPI问题求救!(200分)(200分)

  • 主题发起人 主题发起人 whoisspider
  • 开始时间 开始时间
W

whoisspider

Unregistered / Unconfirmed
GUEST, unregistred user!
问题具体表现如下:
1.一个ISAPI程序,涉及到图像方面的。访问量不大时不会出现500服务器问题,
访问量大时比较容易500服务器问题。
2.特地在WebModuleCreate里写启动日志,在WebModuleDestroy里写关闭日志,
发现程序繁忙的时候会出现多个启动日志,也就是意味着创建了多个程序。
察看内存发现占用内存变大而不释放,而且导致500服务器错误。
3.在访问量不大的时候没有这种现象,一切正常。

有点不明白了,如果程序里有异常的话,应该立即导致500服务器错误才对,
怎么会重新创建多个程序。哪位兄弟帮我解释一下原因,并如何解决这个问题。
 
没有人碰到类似问题?
 
很可有能是你程序里的创建的资源没有及时释放掉的原故。,我正在用ISAPI写一个论坛,
欢迎交流,,。
MY MSNID:pjntt@hotmail.com
 
我最近也准备用ISAPI做了一个评价系统,我测试同时120个用户提交没有问题。

顺便问一下,把所有的模块封装在一个DLL里对应不同path好还是分开多个DLL好?
 
听人说,可能是进程太忙的时候,会重新启动一个新的进程。准备测试一下
是否是IIS重起还是Delphi本身的机制。
另外,我的ISAPI程序涉及计算和绘图,可能很占CPU,比文本处理等要慢的多。
 
delphi开发出来的isapi有一个默认进程数,当需要启动一个进程的时候,程序会先检查是否
还有空闲的默认进程,如果有就使用其中一个,如果没有才启动一个新的进程。
 
to 枫
你好,那个默认进程属性名是什么,能否修改?最好能设置不要重起新的进程,
主要是WebModuleCreate里涉及初始化工作,很费时,需要好几秒。这就造成开了个
新的进程不但没有解决问题,反而加重了程序的负担。最可怕的是,由于生成后忙的
缘故,又去创建新的进程,造成恶性循环。
 
名字我不记得清楚了,我得回去查查,,当然我看那资料说是可以修改的。
至于你说的不要重启新的理进程,这就有问题了,,ISAPI里一个进程对应一个用户
如果你不开新进程,那么进程用完了,别人就不能访问了。
另:如果你初始化要很长时间,是否可以另想办法解决?通过限制进程数来解决,我觉得这个方法是下下策哦,
 
枫,我的邮箱zhu_sh@21cn.com。有问题联系。分就给你了。
解铃还须系铃人,问题还得靠自己解决。头痛。
 
后退
顶部