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



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

服务器上的总空间为50GB。其中整个网站大约是18GB(11GB媒体文件,然后供应商文件等)。以下是我无法理解的原因:

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

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

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

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

服务器是AmazonEC2服务器,Magento处于生产模式。分配100GB而不是50GB能解决问题吗?

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

尝试以下操作。

Magento2有大的日志文件和缓存系统。var文件夹中可能会增加您的文件。但你仍然需要检查你的网站是否属于3000多个产品,这些产品都有大尺寸的图像,你是否将所有这些都存储在你的服务器中。

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

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

在Mysql端:检查是否正在进行睡眠查询。如果它是通过您的自定义扩展区域生成的,请您的开发人员优化代码。例如:可能是为单个项目获取传递"集合"的代码。

你可以使用类似nurelic 的工具

如果你的开发者区一切都很好,请尝试优化网站,使内存限制mysql杀死等。与你的服务器端。

同时,虽然magento是电子商务领域的一个大平台,但默认情况下它有更多的领域需要覆盖。最好避免活动站点中不需要的模块,比如禁用尚未使用的核心模块。

对于一个平均网站使用16gb RAM,

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

相关内容

最新更新