我正在运行一个带有1024 mb内存的VPS,它承载了一个WordPress站点。最近,我遇到了很多数据库问题,WordPress给了我“建立数据库连接的错误”。我可以使服务器崩溃,只要爬行它与尖叫青蛙SEO工具。
有时问题会自行解决,有时我需要手动重新启动MySQL,而另一些时候则需要完全重新启动服务器。
我认为这个错误与MySQL本身有关,但是在检查了各种日志之后,我的服务器似乎没有内存了,因此简单地关闭了MySQL。
使用MySqltuner,我将得到以下结果:
[--] Physical Memory : 992.6M
[--] Max MySQL memory : 804.0M
[--] Other process memory: 306.2M
[--] Total buffers: 225.0M global + 1.1M per thread (151 max threads)
[--] P_S Max memory usage: 409M
[--] Galera GCache Max memory usage: 0B
[OK] Maximum reached memory usage: 643.1M (64.79% of installed RAM)
[OK] Maximum possible memory usage: 804.0M (80.99% of installed RAM)
[!!] Overall possible memory usage with other process exceeded memoryMy.cnf中的设置:
[mysqld]
max_allowed_packet=268435456
open_files_limit=10000
innodb_buffer_pool_size = 128M
innodb_log_file_size = 128M
key_buffer_size = 64M
innodb_file_per_table
slow_query_log=1
slow_query_log_file="/var/log/slowqueries"
long_query_time = 3
general_log=1
general_log_file="/var/lib/mysql/generalqueries"希望能有一些建议,从这里开始,找出是什么消耗了我的记忆,引起了这些问题。
发布于 2017-04-21 16:41:05
今天1GB是“很小”的。
交换对于MySQL性能来说是很糟糕的,所以重要的是不要调得太大。
max_allowed_packet --高得危险,换到30M;如果你真的需要更多的内存,那么要么获得更多内存,要么我们可以深入挖掘以找到其他解决方案。
将max_connections改为40。
将open_files_limit改为1000。
当“建立数据库连接”时,你能查出具体的错误吗?这也会有帮助的。
https://dba.stackexchange.com/questions/171599
复制相似问题