InnoDB bellek davranışını anlamadan ölçeklemeyin
MySQL’de performansın büyük kısmı InnoDB buffer pool davranışına bağlıdır. Sıcak veri belleğe sığmıyorsa disk okuma artar, gecikme yükselir ve uygulama bunu genel yavaşlık olarak görür.
Bu durumda daha büyük RAM gerçekten işe yarayabilir. Ama sorgular yanlış indeks kullanıyorsa veya gereksiz büyük veri okuyorsa RAM artırmak yalnızca pahalı bir erteleme olur.
Buffer pool ve bağlantı fotoğrafı
show global status like 'Innodb_buffer_pool_read%'; show global status like 'Threads_connected'; show global status like 'Threads_running'; show global status like 'Created_tmp_disk_tables';
Read replica okuma trafiğini ayırır, yazmayı değil
MySQL read replica; raporlama, arama, listeleme veya BI sorguları için primary üzerindeki okuma baskısını azaltabilir. Ama ödeme, stok, sipariş gibi yazma işlemleri primary üzerinde kalır.
Replica kullandığınızda replication lag ürün davranışına girer. Kullanıcı bir kayıt oluşturup hemen replica üzerinden okumaya çalışırsa eski veri görebilir. Bu nedenle okuma/yazma ayrımı uygulama seviyesinde bilinçli yapılmalıdır.
Proxy ve pool düzeni connection patlamasını önler
MySQL uygulamalarında her servis kendi bağlantı havuzunu kontrolsüz büyütürse veritabanı bağlantı yönetimiyle uğraşmaktan sorgu çalıştıramaz hale gelebilir. ProxySQL veya benzeri bir katman bazı mimarilerde bağlantı yönetimini ve okuma/yazma yönlendirmesini sadeleştirebilir.
Yine de proxy, kötü sorgu veya uzun transaction sorununu çözmez. Önce connection sayısı, sorgu süresi ve lock beklemeleri ölçülmelidir.
Kullanım örneği: hazır e-ticaret uygulaması büyüyor
Hazır e-ticaret uygulamalarında MySQL çoğu zaman ana işlem veritabanıdır. Ürün listeleme, kampanya, sipariş ve müşteri tabloları büyüdükçe indeks, buffer pool ve rapor sorguları kritik hale gelir.
İlk adım en pahalı sorguları bulmak, sonra composite indexleri düzenlemek ve ağır raporları replica veya analitik motora taşımaktır. Trafik kampanyalarında cache ve queue kullanımı da primary üzerindeki ani yükü azaltır.
MySQL ölçek karar notu
Sorun: okuma / yazma / connection / lock / disk En pahalı sorgular: Buffer pool sinyali: Replica lag: Connection sayısı: Önerilen adım: indeks / pool / replica / kaynak büyütme / analitik ayrım