一键采集上传常见的细节问题(zencart海量数据高并发访问量的经验吗?(一))
优采云 发布时间: 2021-10-20 02:18一键采集上传常见的细节问题(zencart海量数据高并发访问量的经验吗?(一))
正在用zencart和朋友做一个基础的系统创业。估计经过一段时间的发展,数据量和访问量都会非常大。这里有没有朋友有zencart的海量数据和高并发访问的经验?
mysql商品数据量超过1K,百万并发访问。在这种情况下,有的朋友有优化经验。zencart 能支持这种情况下的性能需求吗?常用优化方法:服务器集群、mysql水平分割、memcached等技术有人用过ZenCart吗?
我觉得这个问题需要分成两个问题来解决
1.海量数据
1、根据我的测试结果,Mysql正在处理100万条数据库记录。只基于KEY查询不会有明显的性能问题,避免了过多的相关和非索引字段查询。如果数据太多,可以考虑分库分表来做,但是这个成本也是很高的。
2、 产品数据太多,考虑将产品按照分类划分到不同的应用DB中,利用搜索技术将不同DB的产品聚合到页面展示。
3、订单数据太多,可以参考银行的核算方法,将订单分为流水单-明细单-历史单。大多数历史订单不需要每次都检查。您需要查询订单或生成订单。统计报告也可以使用搜索技术。
二、高并发
1、 代码层面的优化
. 参考杰克
. 重构或简化 ZenCart 现有的 MVC 模型实现
. 定义一个逻辑清晰的数据库执行层,尽可能缓存和复用查询结果集,减少数据库查询次数。
. 根据需要修改数据库结构。比如加索引,加字段,甚至加表。
2、系统级优化
. mysql
. 阿帕奇
. php
. 鱿鱼/内存缓存
相关优化方案请参考相关应用的优化手册或帮助文档
3、 架构优化
. 动静态资源分离
一些静态资源,如产品图片或介绍,可以在不同的服务器上分开。
. 应用分离
ZenCart定位为个人网店,所以它的功能非常全面,有时甚至以牺牲性能换取功能,这是确定的,但zencart系统本身是高度集成和高度耦合的。国外eBay和国内淘宝已经做了应用分离。例如,用户注册/用户登录、结帐、产品类别可以分开。但是,需要解决各个应用程序之间的Session共享和数据同步问题。
. 虚拟服务和负载平衡。
通常有一些技术方案,如DNS轮询、四层交换、七层交换等。这种技术的硬件解决方案有很多,软件解决方案的网上资料也比较多。(主编:最模板)