opencart卡慢,magento用户手册
2022-09-21 10:39:13 - 米境通
有很多人来问,opencart是不是一个小系统,只能做个人电子商务网站,在2013年时候就有几个客户让我帮着做opencart站点优化。
总结下来是这样:
opencart原系统本身适合做中小企业,数据库也就是几十张表,从安装文件大小也能看出都比其它任何一个电商系统小,当然大家希望它能撑起一个地球。
最近花了一周时间和一家高科技公司联合测试了其性能情况。
基础硬件环境:
CPU:Intel(R)Xeon(R)CPUE5-26200@2.00GHz(2核)
物理内存:2GB(集成显卡会占用一部分,真实为1.833GB)
空间大小:7.451GB(含操作系统)
系统配置是不是比较差?
软件环境:
OS版本:CentOSrelease6.4
PHP版本:5.3.28
mysql版本:5.5.37
nginx版本:1.7.3
网络环境:
服务器位置:国内
网络带宽:共享50M
测试情况:
1、在没有做任何优化情况下
1.1当商品数量比较少,只有几十个情况
结果:这种情况下响应在3S内,都还正常。
1.2当商品数量增加到2000个后
结果:响应开始变慢,客户需要等待,页面请求响应在4S左右。
1.3当商品数量增加到10000个后
结果:响应变的很慢,客户访问不流畅,不能正常浏览。
网站慢的原因是什么?主要是网络带宽,数据库响应慢造成的,同样的网络环境,当增加商品数量后,瓶颈主要在数据库响应方面;
很多人增加网络带宽,提高服务器空间等做法都是徒劳的。
我检查了,发现都是数据库返回数据慢造成的,其中有很多表的关联(有的时候是业务逻辑复杂,有的时候是表设计上的问题),很多的统计数据类似count(distinct*)这样的,玩过数据库的人都知道这是致命的。
解决方案可以从几个方面入手:
1.数据库缓存,使用一些缓存技术如memorycache,这项技术需要占用较多的主机服务器内存。
2.页面缓存,将动态页面全部变成静态页面,客户访问的是静态文件,如:pagechche
使用sphinx技术进行缓存。
3.程序优化,优化SQL,全面优化后台的表,这个比较捞命,很少人这样做,除非是个大公司。
不过有些简单的SQL优化还是可以动手做做,提速也比较明显的
opencart提速优化(商品数小于5000个)
3.高速缓存服务器,把数据库表加入缓存中,读写进行分离,并保持数据一致性,专门为对数据库访问性能有较高要求,需要承载大量商品信息,轻松应对复杂应用程序而设计。