MySQL配置调整为1G DB,8GB Ram

时间:2016-12-23 08:05:12

标签: mysql database-performance my.cnf

我的MySQL数据库大小为1GB,运行在4C / 4T专用服务器,8GB Ram和SSD驱动器上。

我的网站有超过200,000篇文章,当使用搜索功能(SELECT查询)时,我需要从我的WHM面板中删除进程的速度变慢或无响应。

我今天请求支持向我展示my.conf文件,正如我所看到的,它在默认情况下运行。这是数据:

title_section

在给定的值中,我没有看到max_connections = 150 max_user_connections = 100 query_cache_size = 64M skip-external-locking key_buffer_size = 64M max_allowed_packet=268435456 table_open_cache = 256 sort_buffer_size = 1M net_buffer_length = 16K read_buffer_size = 1M read_rnd_buffer_size = 1M myisam_sort_buffer_size = 32M innodb_file_per_table tmp_table_size = 64M max_heap_table_size = 64M thread_cache_size = 8 query_cache_type = on # This setting allows the use of asynchronous I/O in InnoDB. # The following files track usage of this resource: # - /proc/sys/fs/aio-max-nr # - /proc/sys/fs/aio-nr # Default limit is 65536, of which a single instance of mysql uses 2661 out of the box innodb_use_native_aio = 1 default_storage_engine = MyISAM open_files_limit=10000 的存在,并且来自支持的人我想将它添加到my.conf中。我读了它的重要价值,所以可能应该添加它?

我的数据库中最大的表是InnoDB,而MyISAM是默认的存储引擎。

这里推荐的配置是什么?需要调整哪些值才能获得最佳性能?

my.cnf中还有其他需要定义的内容,例如innodb_buffer_pool_sizeinnodb_buffer_pool_size吗?

2 个答案:

答案 0 :(得分:1)

您无法从性能问题中解决问题",但以下是要更改的设置:

key_buffer_size = 800M
innodb_buffer_pool_size = 1500M

InnoDB比MyISAM更受欢迎。 (如果更改,则需要进行更多更改。)

您使用的是哪个版本?

通常,性能取决于索引和查询公式。让我们看一个缓慢的查询,以及SHOW CREATE TABLE的表格。

0.0002sec听起来像是在查询缓存中找到的。因此,运行时间:SELECT SQL_NO_CACHE ...以避免不切实际的金额。

答案 1 :(得分:0)

对于MYISAM表:

Key_buffer_size =应为物理RAM内存的20%到30%。根据您的8 GB RAM进行计算。

我建议你将MYSQL的引擎改为INNODB

第三个问题:由于缺少索引或查询优化,您的查询速度很慢。 USE EXPLAIN计划通过向表添加索引来根据它进行查询和优化。