硬件建议
CPU
Commerce Web节点提供所有未缓存或无法通过应用程序缓存的请求。 一个CPU核心可以有效地处理大约两个(有时最多四个) Commerce请求。 使用以下公式可确定需要有多少Web节点/核心来处理所有传入请求,而无需将它们排入队列:
N[Cores] = (N[Expected Requests] / 2) + N [Expected Cron Processes]
如果您预计商店的负载会发生变化,则可以手动增加活跃销售期间的Web节点/核心数量。 或者,可以使用自动缩放模型来自动扩展Web层。
内存
PHP
根据Magento的部署方式,系统有不同的PHP内存要求。 通常,如果要设置单个服务器存储,我们建议为2G配置PHP内存。 如果您使用管道部署设置站点,我们建议在构建服务器上使用2 GB,在Web节点上使用1 GB。
方案和预期的PHP内存要求:
- 仅提供店面页面的Web节点:256 MB
- Web节点使用大型目录为管理员页面提供服务:1 GB
- Commerce cron使用大型目录对网站编制索引: >256 MB (请参阅高级设置以优化性能。)
- Commerce编译和部署静态资源:756 MB
- Commerce性能工具包配置文件生成:>1 GB PHP RAM,>16 MB MySQL TMP_TABLE_SIZE和MAX_HEAP_TABLE_SIZE设置
MySQL
Commerce数据库(以及任何其他数据库)对可用于存储数据和索引的内存量敏感。 要有效地利用MySQL数据索引,可用的内存量至少应接近数据库中存储的数据大小的一半。
缓存
如果要部署多个Commerce并为缓存使用Redis或Varnish,请牢记以下原则:
- Varnish整页缓存内存无效有效,建议分配给Varnish的内存足够容纳内存中最常用的页面
- 会话缓存是为Redis的单独实例配置的良好候选项。 此缓存类型的内存配置应考虑站点的购物车放弃策略以及会话预计在缓存中保留的时长
- Redis应分配足够的内存来保存内存中的所有其他缓存,以获得最佳性能。 块缓存将是决定要配置的内存量的关键因素。 块缓存会相对于网站上的页面数量而增长(sku数量x存储查看数量)
网络带宽
充足的网络带宽是Web节点、数据库、缓存/会话服务器和其他服务之间数据交换的关键要求之一。 由于Commerce有效地利用缓存实现高性能,因此您的系统可以主动与缓存服务器(如Redis)交换数据。 如果Redis位于远程服务器上,则必须在Web节点和缓存服务器之间提供充足的网络通道,以防止读/写操作出现瓶颈。
recommendation-more-help
c0c5bbed-4957-4162-81bc-120c837a1894