Abd*_*naf 6 mysql database-recommendation mysql-5.1
安装 MySQL 服务器非常简单。但是,在安装之后,配置服务器对于 DBA 来说是一项重要的任务。
拥有 2GB 的 RAM 和 250GB 的磁盘空间,我应该如何调整 MySQL 服务器以使其性能良好?
InnoDB 引擎也应该有适当的配置。
以下是我对 InnoDB 的一些建议。根据我的经验,缓冲池大小是最重要的,因为缓存中保存的数据越多,系统使用磁盘 IO 的时间就越少。
http://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-pool.html 这是缓冲池,缓存数据和索引
innodb_buffer_pool_size=(In Mb, 80% of available RAM)
,对于 2GB,我会放 1536。
如果您开始看到交换,请仔细监控您的系统并准备减少此变量。
http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_additional_mem_pool_size 这是存储元数据的地方。如果你有很多表,增加它会很有用。
innodb_additional_mem_pool_size=16M
Run Code Online (Sandbox Code Playgroud)
http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_data_file_path 这里可以定义ibdata文件的位置。如果您可以将 ibdata 文件放在使用单独控制器的单独磁盘上,它将减少争用。小心使用此选项。在使用这个变量之前,请确保你阅读了它。如果你的 ibdata 文件需要超过 29G,MySQL 会停止它所做的一切,等待你添加空间。
innodb_data_file_path = ibdata1:128M:autoextend:max:29G
Run Code Online (Sandbox Code Playgroud)
这管理以什么增量增加 ibdata 文件。所以如果你输入一个非常小的数字,比如 10MB,那意味着如果你有很多插入,innodb 会花很多时间来增加它的 ibdata 文件。
innodb_autoextend_increment = 128M
Run Code Online (Sandbox Code Playgroud)
在哪里放置事务日志。如果您可以将事务日志放在具有单独控制器的不同磁盘上,这也将减少争用
innodb_log_group_home_dir = /tlog/
Run Code Online (Sandbox Code Playgroud)
日志文件的大小是多少
innodb_log_file_size = 500M
Run Code Online (Sandbox Code Playgroud)
缓冲池大小的 25%,允许运行大型事务而无需写入磁盘
innodb_log_buffer_size = 384M
Run Code Online (Sandbox Code Playgroud)
我还定义了临时目录的位置。定义 MySQL 创建临时文件的位置。减少争用的另一种方法。
我通常会留出足够的空间来重新索引服务器上最大的表。
tmpdir=/opt/tmp/
Run Code Online (Sandbox Code Playgroud)
并且错误日志非常有用,以防万一出现问题并且您需要进行故障排除。
log-error=/var/log/mysql.err
Run Code Online (Sandbox Code Playgroud)
另外,如果你有4个以上的cpu,这些变量可以增加 innodb_thread_concurrency = 8 innodb_file_io_threads=4
这与innodb无关。您可以使用其他与 innodb 无关的变量。我在底部添加了它们,但它们是直接从我用于测试的服务器中获取的。避免只是复制和粘贴它们。根据您使用的版本阅读 MySQL 的文档是做出正确选择的最佳方式。
# Fine Tunning
key_buffer = 512M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
join_buffer_size = 64M
sort_buffer_size = 16M
myisam_max_sort_file_size = 1024M
tmp_table_size = 256M
max_heap_table_size = 257M
myisam_sort_buffer_size=1024M
table_cache = 1000
thread_concurrency = 8
# * Query Cache Configuration
#
query_cache_limit = 16M
query_cache_size = 16M
skip-name-resolve
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10830 次 |
最近记录: |