搜索
开启辅助访问 切换到宽版

QQ登录

只需一步,快速开始

扫一扫,访问微社区

注册 找回密码
查看: 5175|回复: 1
打印 上一主题 下一主题

我遇到的opencart越用越慢的问题的解决方法

[复制链接]
跳转到指定楼层
楼主
发表于 2018-6-1 12:44:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
opencart3.0.2越用越慢,最后系统运行不了了,需求的memery_limit要512M才行,最近空下来了想看看到底是哪出问题了,花了我一天时间,各种测试,最后还是解决了,给有同样问题的同学一些参考吧。

我使用了vQmod,没使用的下面的内容就可以忽略。

我的情况:

网站开通3个月,日流量有几百吧。VPS 2核2G内存,环境是LAMP。
我插件安装得比较多,刚开始使用很流畅的,到最后系统负载不起了,几个人同时访问系统就要崩溃,我开始以为是VPS的主机商过度切割CPU和内存,换了几家服务商还是这有个问题,我认为这是系统本身的问题了,1000+产品应该没什么压力,但是开一个页面CPU使用率要增加40%,开始认为是读取了什么大文件。
找了查了下发现是vQmod的问题了,vQmod下的checked.cache文件达到了50M。
看了下代码,每运行一个文件都要到读取checked.cache,对比该文件是否需要做替换检查,如果文件在checked.cache存在,就说明替换过或者没有需要替换的内容,就执行下一步;否则要检查是否有需要替换的内容,完成后文件路径写入checked.cache文件。后果是checked.cache越来越大,我使用了页面缓存和数据缓存插件,导致需要对比的文件更多,每次运行一个页面需要打开几十M的文件,然后逐条对比,CPU和内存当然占用很大。

解决办法:
删除checked.cache和mods.cache,修改vqmod.php,具体代码自己修改了,我只说思路。
我的解决办法是,把所有需要修改文件路径写入一个新的缓存文件,当vQmod需要读取和写入checked.cache的时候,先检查需要运行的页面是否在你建的这个缓存文件里面,如果存在再进行vQmod下面的代码,如果不存在直接忽略vQmod。

就是这样了,希望对大家有帮助,有问题可以交流QQ:313298749

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
沙发
发表于 2018-6-1 19:50:43 | 只看该作者
我们3.0专业版这次开发没有用到VQMOD, 用了OCMOD,商户还没有反应过系统加载慢的问题,可能是3.0的VQMOD机制问题,2.3版本的客户也未出现过你说的问题,谢谢你的反馈,我们这边也会跟踪你说的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

QQ|手机版|OpenCart - 中文官方网站 ( 蜀ICP备09033774号|人工智能

GMT+8, 2024-12-22 12:01 , Processed in 0.057505 second(s), 19 queries , Gzip On.

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