mysql5资源共享

 找回密码
 立即注册
查看: 85|回复: 0

IIS 崩溃跟重复提交数据有关系?

[复制链接]

10

主题

14

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2011-10-12 10:32:04 | 显示全部楼层 |阅读模式
项目类型:CRM

使用范围:公司内部

运行环境:
一台web应用放在windowserver2008iis7.0(64位系统,20G内存,8核CPU)
一台数据库服务器mssql2008

项目架构:spring.net+nhibernate+asp.netmvc4.0+mssql2008+extjs4.0

使用人数:150-250左右


备注:
1.由于用的是ExtJs,所以有些操作,一般查询就要发送好几次请求,大概4-5次左右
2.web应用服务器除了web程序意外,还有一个socket监听程序,是一个中介程序,分别跟两个不同的Socket连接端交互通许,不知道这个是否对IIS有影响

主要状况:IIS经常崩溃,是整个IIS进程(WorldWideWebPublishingService)死掉,这是最严重的,有时候就是应用程序池或站点自动停止掉。





情况:

1.在线用户少的时候没有那么容易挂掉,晚上大概有几个人在使用,10点-1,2点也会挂;

2.查看系统日志,在IIS挂掉的时候都捕捉了一些警告信息(不知道怎么解决):
为应用程序池“xxxxx”提供服务的进程在与WindowsProcessActivationService通信时出现严重错误

3.查看系统日志,有一些警告信息,都是一些asp.net程序的错误,一般都是查询啊,空引用之类的问题。

4.IIS应用池设置了快速故障防护,在观察系统日志的时候,由于asp.net程序错误的次数慢慢累积到默认的10次就自动关闭掉站点,所以就设置了200,但还是挂掉

5.提交表单没有做重复验证,后来在实现防止短时间内重复提交多次表单,测试的时候(短时间内多次点击提交按钮),发现本地开发机器的IIS也同样崩溃了,也出现跟第2点的警告信息,然后尝试重启IIS服务,但是上面启动的按钮已经变灰了,不能启动,等过了几分钟以后又可以重启了。

6.根据第5点情况,把一些提交表单的地方都加了防止多次提交的处理(客户端JS+服务端的拦截),之后就有一天没挂掉过,(ps:现在是第二天早上)。

7.系统有导出数据的功能,就是使用FileHelper来导出Excel数据,需要直接操作ExcelCOM组件的,这个有关系?

8.现在只是项目刚刚上线,在做开发的时候是没有针对这方面去做优化,例如使用存储过程去解决并发性的问题。

9.曾经怀疑过是Session占用过多内存,把Session的实现方式也改了,改成是服务进程,这个服务进程是跟数据库服务器放在一起的。结果还是一样会挂掉。




问题:

1.真的是因为第5点的原因导致IIS崩溃?
2.如果是第5点的原因,那IIS也太脆弱了吧?
3.有其他原因吗?例如网络硬件上
4.按照目前的运行环境,IIS能支撑多少人?怎么相对准确统计在线人数,并发数?(系统自带的性能检测,计数器可以统计吗?我好像没有找到)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|mysql5.com Inc. ( 闽ICP备17002856号-1 )

GMT+8, 2019-9-19 12:57 , Processed in 0.042734 second(s), 18 queries .

Powered by MySQL5.com X3.4

© 2003-2019 MySQL5.com.

快速回复 返回顶部 返回列表