首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于MariaDB的Innodb引擎的变量

用于MariaDB的Innodb引擎的变量
EN

Stack Overflow用户
提问于 2014-11-06 10:41:07
回答 1查看 1.1K关注 0票数 1

下面是运行MariaDB10-0.14的服务器的系统规范。操作系统是CentOS6.5,服务器只托管MariaDB及其测试工具(sysbench和mysqlslap)。此db服务器是位于另一台计算机上的另一台MariaDB服务器的从副本。数据库服务器中的所有数据库中大约有1000个表,所有表都是无害的。来自应用程序的读取(400同时)多于插入(60同时),但是插入的数量也是一个很好的数字。下面是关于我的linux服务器的一些信息:

代码语言:javascript
复制
[root ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       18625404 7430560  10248720  43% /
tmpfs           1958396       0   1958396   0%  /dev/shm

[root ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        18G  7.1G  9.8G  43% /
tmpfs           1.9G     0  1.9G   0% /dev/shm

[root@ ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3824       3209        615          0        146       2390
-/+ buffers/cache:        671       3153
Swap:         1999          0       1999

[root ~]# nproc
4

以下是数据库服务器上最大的表:

问题:通过提供的信息,最好的变量设置是:

代码语言:javascript
复制
   innodb_buffer_pool_size
    innodb_log_buffer_size
    innodb_log_file_size
    innodb_flush_log_at_trx_commit
    innodb_lock_wait_timeout:
    innodb_doublewrite
    innodb_thread_concurrency
    innodb_read_io_threads
    innodb_write_io_threads
    innodb_concurrency_tickets
    innodb_adaptive_max_sleep_delay
    innodb_commit_concurrency
    innodb_read_ahead_threshold
EN

回答 1

Stack Overflow用户

发布于 2014-11-25 11:06:18

innodb_buffer_pool_size

如果可能的话:比所有表空间文件加起来还要大一点

如果那是不可能的:尽可能大

显示引擎INNODB状态中的缓冲池命中率将提示缓冲池大小是否是潜在的瓶颈。

innodb_log_buffer_size

如果你能负担得起的话:直到innodb_log_file_size

innodb_log_file_size

至少是您期望处理的最大事务的10倍

innodb_flush_log_at_trx_commit

如果您关心您想要激活的数据,如果您可以忍受在mysqld或系统故障上丢失一些事务,您可以使用“每秒只有一次”设置之一.

innodb_lock_wait_timeout

这完全取决于应用程序的需要,例如,在等待行锁被授予时,延迟时间是可以接受的。

innodb_doublewrite

如果您关心数据的完整性,那么您肯定希望激活该功能,除非您所在的文件系统内部具有类似的功能(据我所知,ZFS、btrfs可以这样做,其他人则不这么认为)

innodb_thread_concurrency innodb_read_io_threads innodb_write_io_threads innodb_concurrency_tickets innodb_adaptive_max_sleep_delay innodb_commit_concurrency innodb_read_ahead_threshold

完全取决于您的实际工作负载,缺省值通常应该是可以的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26777378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档