ECshop网店系统百万级商品量性能优化-简单的一些Cache内存配置

ECshop网店系统对于产品的数据、模板、Query都可以缓存,也就是把一些商品详情页、分类页、Search页的数据经过一次访问后,用文件的形式保存下来,下次有人访问相同的页面时,不用再查数据库,直接读取Cache展示出来,减少服务器数据库压力。

这样的做法的确可以加速访问,减少资源浪费,对于流量比较大,或者页面重复访问Hit Rate比较高的很有用,但这个也只能解决一部分问题,对于一个有几十万商品的ECshop网店来说,最大的压力不是来自于自然访问的流量,而是勤劳的Google Bot或者Bing的Bot,一天几万的高频度抓取,会让你的系统响应极慢甚至崩溃。

由于偶的ECshop是测试站,不以实际交易为目的的,有些设置比较夸张,大家懂的,根据实际情况自行调整吧。

第一步简单的优化,根据实际情况调整模板Cache时间

在程序includes目录下,有个cls_template.php的文件,打开,找到以下设置项,看你期望更新的时间,默认1个小时,由于我的商品变更很小,设置了40个小时,144000秒。

var $cache_lifetime = 144000; // 缓存更新时间, 默认 3600 秒

第二步,调整ECshop可占用的内存,商品数量大的时候,内存可能不够用,适当增大内存

在程序includes目录下,有个init.php文件,打开,根据你服务器的情况,适当调整,我设置的是256M,大概50W商品没有问题。

@ini_set(‘memory_limit’, ‘256M’);

第三步,调整SQL Cache时间,减少数据库查询,加快响应速度

在程序includes目录下,有个cls_mysql.php文件,找到以下设置项修改,我是缓存24小时

var $max_cache_time = 86400; // 最大的缓存时间,以秒为单位

简单的一些设置,某些程度上有些帮助,自己网上整理来了以备后用