Özel bir ürün için mysql ekleme hızı ve performans modelleriyle ilgili daha iyi anlamak için çalışıyorum yetişir. Yeni satır eklemeye devam ettiğim iki tablo var. aşağıdaki gibi iki tablo tanımlanmıştır:Ekleme hızı yavaşlama mysql
CREATE TABLE events (
added_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
id BINARY(16) NOT NULL,
body MEDIUMBLOB,
UNIQUE KEY (id)) ENGINE InnoDB;
CREATE TABLE index_fpid (
fpid VARCHAR(255) NOT NULL,
event_id BINARY(16) NOT NULL UNIQUE,
PRIMARY KEY (fpid, event_id)) ENGINE InnoDB;
Ve (her yeni nesne için, bir tane işlemde her iki tablolara ilgili bilgileri ekleyin) iki tabloda yeni nesneler ekleyerek devam edin. İlk başta, 600 eklemeler/sn olsun, ancak ~ 30000 satır sonra, daha sonra, (200 ekleme/sn) etrafında daha yavaş, ama yine de fark yavaşlama belirgin bir yavaşlama alır.
Ben masa büyüdükçe, IO sayılar daha yüksek ve daha yüksek olsun beklemek olduğunu görebilirsiniz. İlk düşüncem indeks tarafından alınan hafızaydı, ancak bunlar 768 Mb'ye sahip bir VM üzerinde yapıldı ve bu işe tek başına (2/3'ü kullanılmayan bellek) adanmıştır. Ayrıca, çok fazla bellek alarak 30000 satır, daha çok sadece dizinleri (tüm MySQL veri dir < 100 Mb zaten) görünce zor anlar var. Bunu doğrulamak için ben VM (64 Mb) çok az bellek tahsis ve yavaşlama desen neredeyse aynı (yani yavaşlama yerleştirmelerin aynı sayılardan sonra görünür), bu yüzden ben nispeten yeni duyuyorum, özellikle de bazı yapılandırma sorunları şüpheli veritabanları.
Bunun yararlı buysa kullanılabilir yapabilmeleri, sorunu yeniden üreten bir kendine yeten python komut var şu şekildedir:
desen görünüyor.
Yapılandırma:
- Ubuntu 10,04, KVM'nin çalışan 32 bit, 760 Mb ayarlanması için kullanılmaktadır.
- MySQL 5.1, tablolar için ayrı dosyalar ile kutu yapılandırması dışına
Eric Holmberg için çok teşekkür ederim [DÜZENLE], o çivilenmiş. İşte makul bir değere innodb_buffer_pool_size sabitleme sonra grafikleri şunlardır:
Sorun, sürücüye sanal veya başka bir şekilde yazma olanağı. –
Neyi kastettiğimi anladığımdan emin değilim: Diske yazmanın zaman aldığını anlıyorum, ancak bu tablo büyüdükçe yavaşlamayı açıklamıyor. –