高分求大神解决网站速度慢问题
本帖最后由 zoulei2546 于 2013-06-21 22:01:20 编辑
公司网站进行改版,所有页面都完成好,本地测试完成,架设到一台空服务器上测试也是正常,但是这台空服务器是作为数据库服务器,所以将网站转移到代码服务器,由于代码服务器上运行着老版网站,数据库和代码共存于一台服务器,使用的是2.0框架,数据库设置最大内存占用18G,将代码转移过来以后进行测试,结果发现网站速度慢,将数据库内存降低到12G,依旧慢,打开静态页,去掉js,速度上来,但是其他页面依旧慢,特别有几个页面是通过lucene.net查询的,速度更加慢,但是很奇怪的是,lucene.net查询,有些关键词只需要0.4-0.6秒,但是有些关键词却要40秒,甚至更长时间,通过数据库服务器的数据库中的活动监视器查看sql语句,发现都在400毫秒以内,通过代码服务器的性能查看IO的响应时间为0.03-0.19之间,IO的吞吐率很大,硬盘转速是15000转的,在此求各位大神能够帮帮小弟,小弟不胜感激!多给点意见!最后说明一下,老网站速度是不慢的!
------解决方案--------------------第一,可能是你写代码的原因,对sql 的优化不够。
第二,你试着加索引看看,对于一些复杂查询,而且又经常用到的字段条件,加上组合索引看看。
我觉得最主要的还是这两个原因,服务器这样的配置一般都是符合要求的,所以可能性很小。
------解决方案--------------------还有,你换下其他服务器试试,如果没有出现你这种情况,那就说明是服务器的原因了。看你说的,我也觉得不是代码的原因。
------解决方案--------------------一般的web应用,400ms的单次SQL查询本就很夸张了。如果查询组合很多而且没有专用缓存系统的话慢就是正常事了。有专用缓存系统的话,SQLServer尽量少给内存,否则就是浪费内存。另外看看索引是否可用,或者考虑一下固态硬盘。
记得lucene有种支持缓存的模式,单关键字查询应该直接与结果数据量相关,0.4s结果应该在1000w级别以上了。
个人感觉,硬盘写操作可能有很大的问题。服务器上是否装有类似于360之类的流氓软件?此类流氓软件将可能造成硬盘写操作10倍速的降低。
------解决方案--------------------愿楼主早点解决,学习经验