我的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_size
或innodb_buffer_pool_size
吗?
答案 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计划通过向表添加索引来根据它进行查询和优化。