Magento 2 网站每天都宕机,需要重启服务器

Magento 2 website goes down every day and need to restart server

我有一个 Magento 2.2.2 的电子商务网站,它几乎每天都在崩溃。每当它出现故障时,用户就会发现网站响应时间太长,而且永远不会加载。为了让网站再次工作,我必须重新启动服务器,然后它才能工作。

服务器上 space 的总容量为 50GB。其中整个网站大约有 18GB(11GB 媒体文件,然后是供应商文件等)。以下是我无法弄清楚原因的事情:

a.) 服务器显示已使用 33GB,尽管它应该只显示已使用 18GB。我到处都检查过了,但找不到什么在消耗额外的 15GB space。完整的HTML文件夹只有18GB。

b.) 当我检查日志文件时:它显示如下:

警告:分配给临时 table 的内存大小超过 innodb_buffer_pool_size 的 20%。请更新 innodb_buffer_pool_size 或减小批大小值(这会减少临时 table 的内存使用量)。当前批量大小:100000;分配内存大小:280000000字节; InnoDB 缓冲池大小:1073741824 字节。

我已经将 innodb_buffer_pool_size 设置为 2GB。但是,这个问题还是不断出现。

服务器是 Amazon EC2 服务器,Magento 处于生产模式。可以分配 100GB 而不是 50GB 来解决问题吗?

将 innodb 缓冲池大小增加到 10GB,日志不再显示错误,但服务器仍然每天都停机。由于我们服务器上的 RAM 只有 4GB,这会是主要原因吗?因为每个人都建议至少 8GB 内存?

重新启动您的 mysql 使其生效? 您还需要将该缓冲区设置为 20971520000,即大约 20GB。 Magento 使用大量会话和缓存。

试试下面的方法。

Magento2 有大日志文件和缓存系统。 var 文件夹中的文件可能会增加。 但是您仍然必须检查您的站点是否属于 3000 多种具有大尺寸产品图片的产品,并且您将所有这些都存储在您的服务器本身中。

我能给的建议,如果你的网站有更多我已经提到的更好的产品,你必须使用 CDN 以获得更好的性能。所以整个图像将由第三方处理。 接下来是您必须设置云耀斑以避免停机时间错误或客户副作用。您可以让您的索引页面在服务器关闭时加载。显然,您必须编写脚本以在站点关闭时自动重新启动站点。

在你的服务器端检查内存大小php,你最好给2G。

在Mysql端:检查是否在进行睡眠查询。如果它是通过您的自定义扩展区域制作的,请让您的开发人员优化代码。 例如:可能是通过 'collection' 获取单个项目的代码。

你可以使用像 nurelic 这样的工具

如果您的开发人员区域一切正常,请尝试通过在您的服务器端设置内存限制 mysql 杀戮等来优化站点。

同时,magento 是电子商务领域的一个大平台,因此它默认覆盖更多区域。最好避免使用活动站点中不需要的模块,例如禁用您尚未使用的核心模块。

一般站点使用 16gb RAM,