最近一个网站程序升级到sqlserver,不过站点是放在虚拟主机上的,本以为换成了sqlserver的数据后至少比之前用ACCESS的数据库要提高不少效率的,谁知道,几天下来,经常性的发现网站有时候出现无法访问的情况,很是纳闷。虽然说数据库跟网站不是在同一台服务器,当时只要是同一个局域网内,在数据传输上就不应该出现什么速度上问题的。
而且,网站并不是一直速度慢,一些时候仍然是蛮快的,说明程序方面是没有问题的。还有,网站的pv在10K左右,时段也比较平均,基本上不存在某个时间段访问过度造成应用池出现问题。
百思不得其解的时候,在后台操作的时候,发现处理一个数据的时候停滞了很长一段时间,然后系统提示执行sql语句出错,然后我又重新提交了一遍,却又提交成功了,这样基本上可以确定是数据库的环节出了问题,但是至于是哪里有问题,还是想不到。
今天,发现数据库有几个字段需要做些修改,嫌通过sql语句来操作比较麻烦,于是我直接通过本地的mssql客户端直接远程连接到对应的数据库,然后直接修改字段,保存修改的时候,系统提示“日志已满,操作失败”。这时,顿时恍然大悟,原来困扰了几天的问题就是这个原因导致的。然后查看相关属性,发现日志规则为“简单”,然后日志大小限制在1M,虽然日志设置为简单,但是还是会产生一定的日子的,然后日志已满,就会提示错误,系统也会自动的截断日志。总之,1M的上限明显有问题的,所以才会导致时常出现无法访问的情况。知道病情,下药就简单了,设置成“大容量日志记录的”(这个比简单生成的日志还要小),然后把日志大小上限设置成20M。
这样,困扰好几天的问题总算解决了,庆幸一下,算是自己的运气不错。
虚拟主机上的MSSQL的效率问题 评论 (0)
发表评论