网站同时在线人数过120人后明显速度变慢,cpu使用率过,大部分为SqlServer使用。
已经追踪了两个小时数据库并针对此按照优化顾问的提示进行了索引和统计信息的优化
在已知这么多的情况下,我该如何查找程序或者数据库问题所在?
数据库在压力大的时候会有以下错误信息
服务器无法加载登录所需的 SSL 提供程序库;该连接已关闭。SSL 用于对登录序列或所有通信进行加密,具体取决于管理员配置服务器的方式。有关此错误消息的信息,请参阅联机丛书: 0x6d。 [客户端: <local machine>]
如果是大型的应用程序,建议加入缓存的使用
已经加入了页面缓存。另外个人感觉同时100人在线,日pv20万应该不算太大系统,
所以我感觉程序上应该还有不足的地方,但是不知道从何下手。
@王者永乐: 说的缓存,不是指的页面的缓存,是.net中的memeorycache类的使用,或者是memcached的使用,只要你的内存够大,可以先更新缓存,然后异步的更新数据库,这样的话,至少比现在的快很多
@chenping2008: 内存4G用了3G已经
@王者永乐: 用的这么的狠啊
把数据库移到单独的PC上,分别观察在线120人后两台机器的负载。
根据任务管理器上的来看,是数据库线程对cpu使用过高,但是我不知道这个是程序问题还是数据库表设计问题造成的。
是不是数据库连接池的问题,先查一下到120人的时候的数据库连接数吧