![](/img/trans.png)
[英]how to distinguish which variables are used for innodb engine or for MyIsam engine?
[英]Variables for Innodb engine for MariaDB
以下是我運行MariaDB10-0.14的服務器的系統規格。 操作系統是CentOS-6.5,服務器僅托管MariaDB及其測試工具(sysbench和mysqlslap)。 此數據庫服務器是位於另一台計算機上的另一台MariaDB服務器的從屬副本。 db服務器中所有數據庫中大約有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
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
完全取決於您的實際工作量,盡管默認情況下通常應該可以
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.