name2
March 22nd, 2013, 08:22
آموزش بهینه سازی MySQL در cPanel
(گراف CPU یک سرور با لود MySQL سنگین، قبل و بعد از Optimize که در تایم ۱۲:۰۶ دقیقه بهینه سازی شد)
برای Optimize یا همان بهینه سازی MySQL در سی پنل (وقتی که کمبودی در این زمینه احساس میشه) بهتره ابتدا مطمئن شویم که چه چیزهایی نیاز به تنظیم داره و باید چه کارهایی کرد.
برای همین منظور از mysqltuner استفاده میکنیم که بصورت رایگان و ساده با Wget قابل دسترس هست!
wget mysqltuner.pl chmod 755 mysqltuner.pl ./mysqltuner.pl
با اجرای این سه خط دستور، mysqltuner دانلود و اجرا میشه و مشکلات و کمبود های موجود رو میتونید توی گزارش خروجی ببینید. (خط هایی که با دو علامت تعجب قرمز رنگ (!!) مشخص میشوند، نیاز به تغییر دارند)
حالا میرسیم به کانفیگ خود MySQL که از طریق ویرایش فایل my.cnf موجود در فولدر /etc/ در دسترس خواهد بود.
nano /etc/my.cnf
برای Optimize کردن MySQL کافیه موارد زیر رو به این فایل اضافه کنید :
# The following options will be passed to all MySQL clients
[client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer = 256M max_allowed_packet = 1M table_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8
# Disable Federated by default skip-federated
# Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin
# required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1
[mysqldump] quick max_allowed_packet = 16M
[mysql] no-auto-rehash
[isamchk] key_buffer = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M
[myisamchk] key_buffer = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M
[mysqlhotcopy] interactive-timeout
و پس از اضافه کردن آنها فایل رو ذخیره و MySQL رو ریستارت کنید.
service mysql restart
لينک منبع:
آموزش بهینه سازی MySQL در cPanel (http://rezafh.com/?p=512#comment-556)
rezafh.com/?p=512#comment-556
(گراف CPU یک سرور با لود MySQL سنگین، قبل و بعد از Optimize که در تایم ۱۲:۰۶ دقیقه بهینه سازی شد)
برای Optimize یا همان بهینه سازی MySQL در سی پنل (وقتی که کمبودی در این زمینه احساس میشه) بهتره ابتدا مطمئن شویم که چه چیزهایی نیاز به تنظیم داره و باید چه کارهایی کرد.
برای همین منظور از mysqltuner استفاده میکنیم که بصورت رایگان و ساده با Wget قابل دسترس هست!
wget mysqltuner.pl chmod 755 mysqltuner.pl ./mysqltuner.pl
با اجرای این سه خط دستور، mysqltuner دانلود و اجرا میشه و مشکلات و کمبود های موجود رو میتونید توی گزارش خروجی ببینید. (خط هایی که با دو علامت تعجب قرمز رنگ (!!) مشخص میشوند، نیاز به تغییر دارند)
حالا میرسیم به کانفیگ خود MySQL که از طریق ویرایش فایل my.cnf موجود در فولدر /etc/ در دسترس خواهد بود.
nano /etc/my.cnf
برای Optimize کردن MySQL کافیه موارد زیر رو به این فایل اضافه کنید :
# The following options will be passed to all MySQL clients
[client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer = 256M max_allowed_packet = 1M table_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8
# Disable Federated by default skip-federated
# Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin
# required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted server-id = 1
[mysqldump] quick max_allowed_packet = 16M
[mysql] no-auto-rehash
[isamchk] key_buffer = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M
[myisamchk] key_buffer = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M
[mysqlhotcopy] interactive-timeout
و پس از اضافه کردن آنها فایل رو ذخیره و MySQL رو ریستارت کنید.
service mysql restart
لينک منبع:
آموزش بهینه سازی MySQL در cPanel (http://rezafh.com/?p=512#comment-556)
rezafh.com/?p=512#comment-556