设为首页收藏本站订阅更新

无忧脚本

 找回密码
 加入无忧

QQ登录

只需一步,快速开始

搜索
查看: 2971|回复: 0

[原创] 网站性能优化——为cpu降温

[复制链接]
发表于 2012-2-7 14:13:36 | 显示全部楼层 |阅读模式
最近发现opendb.com.cn服务器的cpu使用率长时间都是100%。开始不在意,以为是杀毒软件或防火墙的问题。查进程,原来是sqlserver.exe惹的祸。难道服务器已经开始撑不住了目前的访问量了?

19 分钟前 上传





查看百度访问统计,访问量一直很平稳,查最近的iis日志,发现各个搜索引擎的爬虫访问量总数还真不少。

加上真实用户的访问,每天就有超过60万的pv。搜索引擎是米饭班主,是不能得罪的,唯有优化网站的性能了。






要优化,首先想到的就是缓存(内存便宜了嘛),减少查询数据库的次数。对首页、频道首页设置了缓存10分钟,其他页面缓存2-6小时。观察了几天,cpu使用率虽然有回落,但不明显,依然保持80%以上。看来单依靠缓存还是不能解决问题。



开始排查访问量较高的页面,看哪些页面查询数据库频繁。发现工资搜索页面、工资列表页占用资源较大。要实现公司名称和职位名称全文搜索,需要先查询公司再查职位,一个搜索结果页面显示10家公司信息,至少需要执行11次查询。





要实现全文搜索,就不能直接查数据库了,前段时间研究的Lucene.net可以用得着了,干脆重写这个站内搜索引擎。写了winform程序在每天凌晨3点建立索引文件,搜索和列表显示都不再直接查询数据库,改成查询索引文件。






再观察cpu使用率,这次有明显下降了,平均50%。用了3年的老服务器,只能凑合用着啦。

衍生新的问题


1、Lucene.net的中文分词是在太烂了,只能一个个字分开,非常不智能。

2、百万数据全量生成索引花时间长,算法还有优化的空间。

3、目前的策略是每天凌晨自动增量生成索引,缺乏实时性。


对opendb.com.cn实时性要求不高的网站来说,2、3点对用户的影响几乎可以忽略不计。总的来说,这次优化还是有必要的。
您需要登录后才可以回帖 登录 | 加入无忧

本版积分规则

小黑屋|手机版|Archiver|无忧脚本 ( 苏ICP备05080427号 )|值班电话:027-62300445   鄂公网安备 42011102000433号

GMT+8, 2017-11-18 06:57 , Processed in 0.096637 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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