博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
某在线电影网站迁移kangle成功案例
阅读量:6390 次
发布时间:2019-06-23

本文共 1639 字,大约阅读时间需要 5 分钟。

  hot3.png

1.背景介绍

某在线电影网站(为了隐私,这里隐去名字和域名),随着访问量的上涨,之前使用IIS,其cpu经常性的100%,长期90%以上。网站访问打开奇慢,严重影响用户体验,业务发展碰到瓶颈。
相关信息:
alexa世界排名,三个月平均48000. 连接信息30秒内高锋5000.
windows 2008操作系统。
cpu Xeon L5320 1.86 双cpu,每cpu4核心,总共8核心cpu
内存: 8G

2.强制缓存

前段时间听说 不错,购买一个kangle商业版(3.0.2)。测试性使用kangle,我们技术人员帮他做常规技术支持。做强制缓存,配置如下:

text/ht*

发现cpu无法降下来。

3.移除随机参数

经过我们的分析,进入kangle web控制平台http://ip:3311/,点连接信息,发现连接内有大量的如下的url:
  1. /plugins/rating/config.xml?0.8560413579778041(此为随机数)
  2. /public/js/looking.js?_=1354929049203(此为随机数)
复制代码
分析原因其url中使用了随机数,严重影响缓存命中率。强制缓存基本无效。
换用kangle 3.1.4 kangle 3.1中新增remove_param可以移除url中的一些参数。对付这种情况。
在请求控制(request)中的BEGIN表中增加一条规则链.如下配置:
重起kangle后,cpu终于下来了。强制缓存有效.

4.优化搜索

测试过两天,用户满意,正式迁移到kangle后,发现cpu还是很高,90%以上。其中mysql占到90%以上。整站都无法打开。
点连接信息,发现有大量的类型如下连接:
/?keyword=关键词
询问用户,是其网站的搜索电影服务。经查询用户的php代码,得知搜索是使用mysql的like算法,非常消耗资源。
经我们建议,把搜索服务独立一个虚拟主机,使用一个单独的域名,这样我们对搜索的虚拟主机设置一个单独的工作者。
我们仅设置为2个工作者。其cpu终于降下来,到10%左右。搜索也正常。
分析原因是搜索消耗cpu,就像堵车,谁都想走,结果谁都走不了。把它设置为最大工作数为2,搜索就会排队,效果反而更好。不堵了,效率更高。

5.缓存命中统计

我们使用商业版的缓存命中统计,其主站缓存命中率在95%,搜索缓存命中率在91%。
cpu维持一个较低的水平(10%),用户非常满意,我们也惊叹kangle的效果。

6.案例启示:

1.用好kangle的强制缓存,会收到奇效。
2.使用remove_param模块,移除一些随机参数,提高缓存命中率。
3.对于一些消耗资源的服务,可以独立一个虚拟主机,使用独立工作者,使其不影响到其它服务。
4.工作数不是越多越好,也不是越少越好,适合的才是最好。

转载于:https://my.oschina.net/keengo/blog/95027

你可能感兴趣的文章
Colocation Guard公司再增1万平方英尺的数据中心空间
查看>>
任正非迷茫的背后是华为在“治未病”
查看>>
解读《电力发展“十三五”规划》
查看>>
无所不在的物联网设备 你我都需要正视所带来的安全问题
查看>>
郁闷的时候看看这头驴,改变你的心态!
查看>>
全球IT支出保持稳定增长 中国IT支出将超2.3万亿元
查看>>
因时而动 顺势而为——广告人独家专访快友股份CEO林森
查看>>
全球最大医疗器械公司在中国寻找移动医疗新机会
查看>>
一文看透全球光伏“大跃进”发展历程
查看>>
HomeKit推出已两年 但是苹果在智能家居上却被对手甩开了差距
查看>>
互联网时代的云服务器四大功能
查看>>
TextBox灵异事件之背后神秘的深度灵异事件真相揭秘
查看>>
你能用大数据创造一个新的商业模型吗?
查看>>
2015年度打榜之数据备份硬件
查看>>
Windows 10版星巴克应用现身官网
查看>>
行走智慧城市 数据要有统一“身份”
查看>>
从单体应用转为分布式系统:来自Deliveroo的实践
查看>>
Python代码运行不够流畅?看大神如何多角度优化!
查看>>
用Asp.net还原与恢复sqlserver数据库
查看>>
软件测试用例的设计
查看>>