【问题标题】:Variables for Innodb engine for MariaDBMariaDB 的 Innodb 引擎的变量
【发布时间】:2015-01-02 20:03:56
【问题描述】:

以下是我运行 MariaDB10-0.14 的服务器的系统规格。操作系统是 CentOS-6.5,服务器只托管 MariaDB 及其测试工具(sysbench 和 mysqlslap)就是这样。该数据库服务器是位于另一台机器上的另一个 MariaDB 服务器的从属副本。 db server中所有数据库大概有1000张左右的表,所有的表都是innodb。应用程序的读取次数(同时 400 次)比插入次数(同时 60 次)多,但插入次数也是一个不错的数字。所以这里有一些关于我的 linux 服务器的信息:

[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

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

问题:根据所提供的信息,什么是最好的变量设置:

   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

【问题讨论】:

    标签: mysql performance innodb mariadb


    【解决方案1】:

    innodb_buffer_pool_size

    如果可能:比所有表空间文件的总和大一点

    如果不可能:尽可能大

    SHOW ENGINE INNODB STATUS 中的缓冲池命中率将提示缓冲池大小是否是潜在瓶颈

    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

    完全取决于您的实际工作量, 默认值通常应该没问题

    【讨论】:

      猜你喜欢
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 2013-01-26
      • 1970-01-01
      相关资源
      最近更新 更多