Saya baru-baru ini mengalami masalah dengan meronta-ronta karena kehabisan memori. (VPS saya memiliki total 256 juta)
Saya mencoba untuk menyetel MySQL menggunakan mysqltuner.pl, dan mendapatkan hasil berikut:
-------- Statistik Umum ---------------------------------------- ---------- [-] Periksa versi lompatan untuk skrip MySQLTuner [OK] Saat ini sedang berjalan didukung versi MySQL 5.0.51a-3ubuntu5.4-log [OK] Beroperasi pada arsitektur 64-bit -------- Statistik Mesin Penyimpanan --------------------------------------- ---- [-] Status: + Arsip -BDB -Federated -InnoDB -ISAM -NDBCluster [-] Data dalam tabel MyISAM: 114M (Tabel: 454) [!!] Total tabel terfragmentasi: 34 -------- Metrik Kinerja ---------------------------------------- --------- [-] Naik untuk: 40-an (570 q [14.250 qps], 23 conn, TX: 154K, RX: 23K) [-] Baca / Tulis: 100% / 0% [-] Total buffer: 338.0M global + 2.7M per utas (20 utas maksimum) [!!] Penggunaan memori maksimum: 392.9M (153% RAM terpasang) [OK] Permintaan lambat: 0% (5/570) [Oke] Penggunaan tertinggi koneksi yang tersedia: 15% (3/20) [!!] Ukuran buffer kunci / total indeks MyISAM: 8.0M / 9.4M [!!] Tingkat hit buffer kunci: 57.1% (7 cache / 3 kali dibaca) [OK] Efisiensi cache kueri: 21,9% (7 cache / 32 pilihan) [OK] Kueri cache permintaan per hari: 0 [OK] Mengurutkan yang membutuhkan tabel sementara: 0% (0 macam temp / 1 macam) [OK] Tabel sementara dibuat di disk: 0% (0 pada disk / 32 total) [OK] Tingkat hit cache cache: 86% (3 dibuat / 23 koneksi) [OK] Tingkat hit cache cache: 26% (128 terbuka / 484 dibuka) [OK] Batas file terbuka yang digunakan: 25% (259 / 1K) [OK] Kunci meja diperoleh dengan segera: 100% (492 langsung / 492 kunci) -------- Rekomendasi ----------------------------------------- ------------ Rekomendasi umum: Jalankan OPTIMIZE TABLE ke tabel defragment untuk kinerja yang lebih baik MySQL dimulai dalam 24 jam terakhir - rekomendasi mungkin tidak akurat Kurangi keseluruhan jejak memori MySQL Anda untuk stabilitas sistem Variabel yang akan disesuaikan: *** Penggunaan memori maksimum MySQL sangat tinggi *** *** Tambahkan RAM sebelum meningkatkan variabel buffer MySQL *** key_buffer_size (> 9,4M)
Tapi saya agak bingung bagaimana cara menurunkan penggunaan memori maksimum? Tampaknya didasarkan pada key_buffer dan max_connections, tetapi harus ada sesuatu yang lain yang terlibat?
my.cnf:
key_buffer = 8M max_allowed_packet = 12M thread_stack = 128K thread_cache_size = 8 max_connections = 20 table_cache = 128 tmp_table_size = 256 juta max_heap_table_size = 256 juta join_buffer_size = 256 ribu query_cache_limit = 8M query_cache_size = 64M
Saya sudah mencoba membaca melalui artikel tuning MySQL, tetapi mereka tampaknya diarahkan pada orang-orang yang sudah tahu apa yang mereka lakukan! Bantuan apa pun akan dihargai. Terima kasih!