چگونه مي توانم سرويس MYSQL براي server خود را از نظر راندمان بهتر و سرعت پاسخگويي بهتر به Query ها بهينه سازي کنم ؟

از راهنمای WIKI پرشین هلپ
پرش به: ناوبری, جستجو

با شناسه root وارد SSH شده و فايل تنظيمات mysql را با ويرايشگري همچون nano ويرايش کرده و کد زير را در آن قرار مي دهيم بعد از فايل را ذخيره کرده و mysql را مجددا راه اندازي مي کنيم. نکته: فايل تنظيمات mysql معمولا در آدرس etc/my.cnf قرار دارد.

[mysqld] skip-locking skip-innodb query_cache_limit=1M query_cache_size=32M query_cache_type=1 max_connections=500 interactive_timeout=100 wait_timeout=100 connect_timeout=10 thread_cache_size=128 key_buffer=16M join_buffer=1M max_allowed_packet=16M table_cache=1024 record_buffer=1M sort_buffer_size=2M read_buffer_size=2M max_connect_errors=10

  1. Try number of CPU's*2 for thread_concurrency

thread_concurrency=2 myisam_sort_buffer_size=64M log-bin server-id=1

[safe_mysqld] err-log=/var/log/mysqld.log open_files_limit=8192

[mysqldump] quick max_allowed_packet=16M

[mysql] no-auto-rehash

  1. safe-updates

[isamchk] key_buffer=64M sort_buffer=64M read_buffer=16M write_buffer=16M

[myisamchk] key_buffer=64M sort_buffer=64M read_buffer=16M write_buffer=16M

[mysqlhotcopy] interactive-timeout توجه بفرماييد متغيير هاي بالا بسته به نوع سخت افزار سرور و ... همچون بايد تغيير کند تا سرويس دهنده mysql به بالاترين حد پاسخگويي و پايداري برسد. با استفاده از بهينه سازي صحيح مثلا مي توان سايتي PHPNUKE ي را که در 47 ثانيه لود مي شد به 11 ثانيه کاهش داد. در مرحله آخر MySQL را از whm و يا ssh ريست کنيد.

جعبه‌ابزار