Yavaş MySQL sorgularını inceleyin
Yavaş sorgu günlüğünü etkinleştirdiniz ve şimdi gözden geçirmek için bir günlüğünüz var. Günlük kaydını etkinleştirmediyseniz, adımları burada bulabilirsiniz.Günlüğün incelenmesi
Günlük konumu:/var/log/slow-queries.log
# Saat: 210905 6:33:11 # Kullanıcı @ Ana Bilgisayar: dbuser [dbname] @ ana bilgisayar adı [1.2.3.4] # Sorgu_süresi: 12.116250 Kilitleme süresi: 0.000035 Satır_süresi: 0 Satır_seçene: 201565 dbname kullanın; SET zaman damgası = 1409898791; ... BURADA YAVAŞ SORGU ...
Yukarıdaki formatta yüzlerce giriş olmasa da düzinelerce girişiniz olduğunda kayıt çok zor olabilir. Günlüğü daha okunaklı hale getirmek için günlüğü ayrıştırmak üzere mysqldumpslow kullanın.
mysqldumpslow -r -a /var/log/mysql/mysqld.slow.logÇıktı zaman , satırlar ve sorgu gibi önemli bilgileri içerir.
Sayı: 2 Zaman = 20.54s (41s) Kilit = 0.02s (0s) Satırlar = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table NEREDE site_user_id = '214380' SİPARİŞ site_id DESC SINIRI 0,2 Sayı: 1 Zaman = 21.74s (21s) Kilit = 0,01s (0s) Satırlar = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table NEREDE site_user_id = '214380' SİPARİŞ VEREN site_id DESC SINIRI 0,2 Sayı: 1 Zaman = 23.86s (23s) Kilit = 0.20s (0s) Satırlar = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table NEREDE site_user_id = '214380' site_id DESC LİMİTİNE GÖRE SİPARİŞ 0,2
Yukarıdaki örneğe baktığımızda, 20-24 saniye süren 1 sorgumuz var. Bu, sitenizde yavaş yükleme sürelerinden zaman aşımı hatalarına (sonsuz döndürme) kadar çeşitli sorunlara neden olur. Sorgu 12.547.802 satırı inceliyor. 12 milyondan fazla satır içeren bir tabloda büyük bir sorgu (yani seçme *) çalıştırılması, kötü bir kullanıcı deneyimine neden olabilir. Sorguyu optimize etmek (yani "kahve masaları" seçmek) veya incelenen satırları azaltmak (yani eski verileri arşivlemek) sorguyu hızlandıracaktır.
Günlük dosyası büyükse, mysqldumpslow komutunu çalıştırın ve çıktıyı bir dosyaya kaydedin. Bu, grep veya find gibi diğer dosya işleme araçlarıyla incelemeyi kolaylaştırır.
mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed
Sonraki Adımlar
Yavaş sorgu günlüğünü inceledikten sonra, düzeltilmesi gereken sorunlu sorgular hakkında fikir sahibi olmanız gerekir. Siteniz yüksek kaynaklar kullanan MySQL ile hala yavaş çalışıyorsa, sunucunuzun kaynaklarını daha iyi kullanmak için MySQL'i optimize etmeniz gerekebilir.
Günlük ile işiniz bittiğinde, MySQL yavaş sorgu günlük kaydını devre dışı bıraktığınızdan emin olun. Günlük kaydını etkin bırakmak, MySQL kaynaklarını gereksiz yere tüketir ve diskinizi potansiyel olarak doldurur (kötü sorgularla).
GoDaddy Barındırma Hizmetleri
Sunucu uzmanlarımız MySQL yavaş sorgu günlüğünü etkinleştirebilir / devre dışı bırakabilir ve MySQL optimize edebilir. Bu hizmet hakkında daha fazla bilgi edinmek için, GoDaddy Kılavuzu size yardımcı olmak için burada.