Otomatis Mengoptimalkan Pengaturan MySQL

21 Apr 2016 01:00 • Post By

Otomatis Mengoptimalkan Pengaturan MySQL


Jika Anda menjalankan server Anda sendiri, sebuah virtual private server atau VPS, atau server cloud dengan akses shell, Anda mungkin ingin mengoptimalkan pengaturan MySQL Anda. Ini dapat meningkatkan kinerja situs Anda dengan membuat penggunaan terbaik dari memori dan cache, dan meminimalkan swapping disk. Namun, jika Anda sudah membaca tentang pengaturan seperti ukuran InnoDB kolam buffer, cache query, cache meja, dan sebagainya, Anda mungkin tidak tahu di mana untuk memulai dalam hal apa yang harus tweak. Antara lain, mysqlreport dapat memberikan banyak data untuk menganalisis. Favorit saya, bagaimanapun, adalah mysqltuner , yang merupakan script Perl yang akan menjalankan diagnosa pada database MySQL dan membuat rekomendasi spesifik.

Mysqltuner mudah untuk menginstal dan menggunakan. Anda dapat men-download file Perl atau menggunakan installer, seperti yum (yum install mysqltuner) dari Red Hat dan CentOS.

Kemudian, Anda dapat menjalankan mysqltuner.tpl perl atau mysqltuner , ikuti petunjuk untuk kredensial database, dan menunggu hasil:

-------- Performance Metrics -------------------------------------------------
[--] Up for: 145d 4h 29m 13s (17M q [1.388 qps], 290K conn, TX: 100B, RX: 27B)
[--] Reads / Writes: 97% / 3%
[--] Total buffers: 168.0M global + 2.8M per thread (151 max threads)
[OK] Maximum possible memory usage: 583.2M (14% of installed RAM)
[OK] Slow queries: 0% (199/17M)
[OK] Highest usage of available connections: 8% (13/151)
[OK] Key buffer size / total MyISAM indexes: 8.0M/3.5M
[OK] Key buffer hit rate: 100.0% (120M cached / 13K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (751 temp sorts / 2M sorts)
[!!] Joins performed without indexes: 922026
[!!] Temporary tables created on disk: 35% (1M on disk / 4M total)
[!!] Thread cache is disabled
[!!] Table cache hit rate: 0% (400 open / 238K opened)
[OK] Open file limit used: 5% (58/1K)
[OK] Table locks acquired immediately: 99% (33M immediate / 33M locks)
[!!] InnoDB data size / buffer pool: 3.0G/128.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    Enable the slow query log to troubleshoot bad queries
    Adjust your join queries to always utilize indexes
    When making adjustments, make tmp_table_size/max_heap_table_size equal
    Reduce your SELECT DISTINCT queries without LIMIT clauses
    Set thread_cache_size to 4 as a starting value
    Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
    query_cache_size (>= 8M)
    join_buffer_size (> 128.0K, or always use indexes with joins)
    tmp_table_size (> 16M)
    max_heap_table_size (> 16M)
    thread_cache_size (start at 4)
    table_cache (> 400)
    innodb_buffer_pool_size (>= 3G)

Kemudian, mengubah pengaturan Anda merasa nyaman dengan (biasanya di /etc/my.cnf atau langsung di konsol MySQL untuk membuat perubahan sementara) dan restart MySQL jika perlu. Anda kemudian dapat menjalankan mysqltuner setiap saat lagi di masa depan untuk mendapatkan rekomendasi up-to-date.

Jangan lupa Subscribe ya !!

Otomatis Mengoptimalkan Pengaturan MySQL | Tutorialku.Net | 4.5