评论系统生成缩略图的思考

评论系统需要对接多个网站,每个网站对评论里的图片的尺寸有不同的要求,并且为了在 amp 应用里可以正常显示,需要额外返回图片的宽度和高度 现在需要解决两个问题: 1. 之前的接口数据里没有图片的宽度和高度属性 2. 每个网站对图片尺寸有不同要求 对于第一个问题: 之前保存图片信息 …

配置 MySQL 主从复制

MySQL的复制功能,是构建基于MySQL的大规模、高性能应用的基础,通过为服务器配置一个或多个备库的方式来进行数据同步。复制功能不仅有利于构建高性能的应用,同时也是高可用性、可扩展性、灾难恢复、备份、以及数据仓库等工作的基础。本文记录搭建一个最基本的MySQL一主一从架构的详细步骤。

Redis学习笔记 – 数据持久化

Redis 是内存数据库,它将数据储存在内存中,如果不讲数据保存到磁盘里,那么一旦进程退出,服务器里的数据就会丢失。为了解决这个问题,Redis 提供了两种数据持久化功能: RDB 持久化 和 AOF 持久化

Redis学习笔记 – 过期键删除策略

Redis 数据库中的所有键的过期时间,都保存在redisDb结构中的 expires 字典中, 我们称该字典为过期字典 过期字典的键:键是一个指针。指向键空间中的某个键对象 过期字典的值:值是一个 long long 类型的整数, 保存键指向的数据库键的过期时间 三种过期键删除 …

基于消息队列,优化 Magento 定时任务前后 CPU 对比

于 4月15日上线了优化版本的 EDM 代码,通过以上两图,可以看出在4月15日,服务器CPU负载有显著下降。 由于M2定时任务系统代码的缺陷,如果定时任务数量超过5000条(取决于服务器配置),会导致大量任务得不到执行(Missed),而状态为 missed 的任务并不会被清理 …

给 Magento 2 添加缓存层的分析与尝试

虽然黑色星期五有惊无险的过去了, 但是 Magento 2 社区版无法读写分离这个限制, 始终是悬在整个网站上的一把利剑。这次黑五, 整个项目的性能瓶颈就是 MySQL, 流量上来之后, 应用服务器负载基本保持不变, 而数据库服务器负载却翻了3倍多, 而且是在数据库服务器提前升级了硬件配置的基础上。所以我觉得 Magento 2 的数据库层必须要优化一下, 既然没法做读写分离, 那能不能加个缓存层呢?将绝大多数读取操作转移到缓存层去, 理论上数据库的负载会相应下降。