我有VDS: 6核和10 VDS内存与150+ WordPress站点。所有这一切都是基于CentOS 7,ISPManager网络面板与MariaDB 10.3在码头容器。网站不是高负荷,但每周3次集装箱关闭,因为RAM是低的。(杀死它)什么.my.cnf参数,你能为最佳和低内存使用?我怎样才能阻止OOM杀手制造的定期集装箱死亡?也许是CentOS7的一些系统调整?Tnx抱歉我错了
发布于 2020-01-18 00:08:34
有许多设置可以减少帮助。innodb_buffer_pool_size通常是最大的,因此是第一个调整的。
10 is内存--里面是什么?一个MariaDB实例(带有150+数据库)?加上WP应用程序代码?
table_open_cache降低一点。
请提供此处讨论的GLOBAL STATUS和VARIABLEs:http://mysql.rjweb.org/doc.php/mysql_analysis#tuning
swappiness = 1可能会有帮助。
(摘自评论)
MySQL/MariaDB可能永远不需要100个内核;3个内核可能很好。
100个连接可能永远不会同时处于活动状态;max_connections是可配置的限制,151是默认的(在某些版本中)。
WordPress的表上有一些效率低下的索引;这些额外的CPU和/或I/O时间花费了。可以用这个插件:进行改进。
我认为您已经找到了唯一在速度和数据丢失之间提供折衷的可调性(innodb_flush_log_at_trx_commit)。即便如此,损失的可能性也只有在崩盘时才会发生。
swappiness的背景是什么?如果是"0",或者没有分配交换空间,那么系统就会被配置为杀死进程,而不是当RAM被过度提交时崩溃。值"1“表示延迟交换,直到您真正需要。当数据库是系统中的主要进程之一时,我认为"1“是最优的。
如果现在没有交换空间,就分配一些交换空间。使用top或htop来监视内存、CPU、I/O和交换使用情况。我发现“通常”有更多的内存和交换被使用,我无法解释。
如果CPU使用率(或“负载平均值”)很高,我建议捕获。让我们来看看哪些查询消耗了最多的时间。
一个常见的CPU浪费(和/或I/O-浪费)是对查询将返回的“行总数”的无偿计算。慢速日志将指出哪些表很大,并在此类计算上浪费时间。然后考虑一下你是否可以在没有价值的情况下生活。(请注意,搜索引擎没有说“.在987,654,321次匹配中.”。这是有表现的!)
https://stackoverflow.com/questions/59712424
复制相似问题