Bu sayfa makine çevirisidir. İngilizce orijinalini okuyun. English

IBSurgeon kütüphanesi

Firebird Performans Bülteni: Sayı 1

Az “Firebird performans bülteni” adında, performans testleri, ipuçları, püf noktaları, yapılandırma iyileştirmeleri vb. konulara ayrılmış, az çok düzenli bir bülten başlatmaya karar verdik.

İlk sayıda şunlar yer alıyor:

Firebird 4 vs Firebird 3: İyi Haberler, Millet!

2019’dan bu yana, basit INSERT/UPDATE/DELETE testinin ilk sonuç koleksiyonunu yayınladığımızdan beri, birçok kişi bize Firebird sunucularından sonuçlar gönderdi ve bunları elektronik tabloya ve ilgili grafiğe ekledik.

Test, farklı donanım+Firebird yapılandırmalarının performansını ölçmek ve karşılaştırmak için basit ama güçlü bir araçtır; donanım veya yapılandırma sorununu hızlıca doğrulamanıza veya çürütmenize olanak tanır.

Son zamanlarda bu testi, Firebird 4.0 (sürüm 4.0.0.2394, sürümden birkaç derleme) ve 3.0 (sürüm 3.0.8.33426, anlık görüntü, yaklaşan 3.0.8’in ön sürümü; Firebird otomatik testlerine göre küçük bir sürüm kadar kararlıdır) INSERT/UPDATE/DELETE performansını karşılaştırmak için kullandık.

Test ortamı, SSD Samsung SSD 870QVO ve RAM sürücüsü (qSoft) ile Intel i3-10100F 3.60GHz idi ve çeşitli RAM boyutları (16,32,64) ve Page Buffer’lar kullanıldı.

Aşağıda grafik ve sonuçları içeren XLS elektronik tablosu bulunmaktadır.

Gördüğünüz gibi, aynı koşullar ve aynı yapılandırma altında Firebird 4, yazma işlemlerinde 3.0.8’den yaklaşık %10 daha hızlıdır. Bu kesinlikle iyi bir haber ve yaklaşan sürüme daha yakından bakmanın ve geçiş hazırlıklarına başlamanın zamanının geldiğinin bir başka işaretidir.

Elbette en iyi yaklaşım, aynı testi kendi sunucunuzda çalıştırmak ve gerçek iyileştirmeyi kendiniz görmektir.

Nasıl yapılacağını görün »

Maksimum Firebird yazma performansı için en iyi AWS EC2 örneğini seçme

Giderek daha fazla şirket “buluta taşınmayı” düşünüyor ve Amazon Web Service Elastic Cloud en popüler “bulut hedeflerinden” biri.

Ancak AWS birçok farklı örnek türü sunuyor; en iyisini nasıl seçersiniz? Tabii ki testleri yaparak!

20 örnek türü için basit INSERT/UPDATE/DELETE testleri yaptık ve Firebird için gerçekten iyi birkaç seçenek bulduk.

Lütfen unutmayın - aşağıdaki hesaplamalardaki ve grafiklerdeki tüm fiyatlar AWS EC2’nin Frankfurt bölgesi içindir, aws.amazon.com’dan olduğu gibi alınmıştır, herhangi bir indirim yoktur, ek vergilere tabi olabilirler ve zamanla değişebilirler - bu nedenle aşağıdaki fiyatları kesin veya tam bir satın alma rehberi olarak değerlendirmeyin.

İşte genel grafik ve sonuçları içeren XLS elektronik tablosu:

Basitlik için, esasen Inserts+Updates+Deletes toplamı olan Operations sütununu oluşturduk ve bunu birleşik yazma performans metriği olarak kullandık:

Gördüğünüz gibi, aşağıdaki 3 örnek türü performansta liderdir (Firebird yazma işlemleri açısından):

Örnek Linux için saatlik maliyet Saniyedeki işlemler

| z1d.xlarge | USD$0.45 | 45834 | | m5dn.2xlarge | USD$0.648 | 45198 | | m5d.2xlarge | USD$0.544 | 44150 |

İlginç olan, liderlerin en pahalı örnek türleri olmamasıdır! Elbette, testin tek iş parçacıklı olduğunu (çekirdek sayısından faydalanmadığını) ve büyük miktarda RAM gerektirmediğini (çünkü veritabanı yalnızca 3.6Gb) unutmamalıyız, ancak hızlı işlem gerektiren yoğun yazma işlemlerini işlemesi gereken uygulamalar için bu örnekler gerçekten optimal görünüyor.

Bu örnek türleri (test edilenler arasında) en pahalı olmasa da, bütçe hakkında iki kez düşünmek için yeterince pahalıdır ve bulutun reklamı yapılan avantajlarından biri esneklik olduğundan, Firebird veritabanımıza hizmet etmek için yeterince iyi olabilecek daha ucuz VM örnek türleriyle başlamak mantıklıdır, değil mi?

Optimal maliyet/performans örnek türlerini bulmak için elektronik tablomuza başka bir sütun ekledik: “1 USD başına işlemler”.

Bu tam olarak ne anlama geliyorsa onu ifade eder - 1 USD karşılığında kaç yazma işlemi satın alabilirsiniz.

Formül aşağıdaki gibidir:

Operations_Per_Second * 3600 saniye / Saatlik Fiyat

Gördüğünüz gibi, bu açıdan liderler farklıdır:

Örnek Linux saatlik fiyatı 1 USD başına işlemler Saniyedeki işlemler
c5d.xlarge USD$0,222 579062087 35709
c5ad.xlarge USD$0,2 565024995 31390
m5dn.xlarge USD$0,324 446037216 40143

Çok ilginç olan #3, m5dn.xlarge - saniyede ~40K tepe performansıyla, performans lideri z1d.xlarge‘ın 45834 işlem/saniyesine oldukça yakındır, ancak önemli ölçüde daha ucuzdur.

Genel olarak AWS EC2 ile ilgili deneyimimiz, birçok iyi güvenlik/yedekleme/yüksek kullanılabilirlik vb. özelliğe sahip, istikrarlı ve olgun bir ortam olduğunu gösteriyor; ancak her karmaşık platform gibi, doğru seçimi yapmak ve harika olmayan yükler için uygulamalarda aşırı faturalar ödememek için deneyim (veya dış uzmanlık) gerektirir.

INSERT/UPDATE/DELETE testinin son sonuçları

Gördüğünüz gibi, basit test yalnızca donanım ve Firebird’ler arasında karşılaştırma yapmak için değil, aynı zamanda birkaç dolar tasarruf etmenize de yardımcı olabilir.

Son toplanan sonuçları içeren bir grafik ve üzerinde oynayabileceğiniz bir XLS elektronik tablosu yayınladık; böylece kendiniz kontrol edebilirsiniz burada.

Aşağıda 3 belirgin sonuç yer almaktadır:

  1. NVME sürücüler gerçekten harika; güçlü bir Firebird sunucusuna ihtiyacınız varsa, veritabanları için NVME satın alın.
  2. Yüksek CPU frekansı, Firebird veritabanlarının yüksek performansı için çok önemlidir. Satıcılar genellikle sizi daha düşük frekanslı (<3Ghz) çok çekirdekli işlemciler almaya iter, ancak bu Firebird için en iyi seçenek olmayabilir; daha az çekirdek ve daha yüksek frekans daha iyi bir sonuç verebilir.
  3. Veritabanı yük profiliniz ağırlıklı olarak yazma odaklıysa, Page Buffer’ları azaltmayı deneyin: DefaultDbCachePages ile 50K, 100K, 250K vb. gibi denemeler yapın. Sonuçları bizimle paylaşırsanız harika olur!

Test sonuçlarını incelemekten çekinmeyin, sorularınızı sorun veya önerilerinizi gönderin.

“Firebird Performans Bülteni"nin sonraki sayılarında

  1. sayıda, tek bir veritabanına hizmet etmek için birkaç SuperClassic örneğinin nasıl yapılandırılacağını göstereceğiz (diğer şeylerin yanı sıra, yükü birkaç ağ bağlantı noktası arasında bölmek için yararlı olabilir). Sonraki sayılar için planlar büyük: yapılandırma hataları, şifrelenmiş veritabanı testleri, Firebird 4 performansının Firebird 3 ile gelişmiş karşılaştırması, indeks optimizasyonu vb.

İlgileniyorsanız ve yeni sayılar hakkında bildirim almak istiyorsanız, bize FirebirdSQL Telegram Kanalı’nda katılın.

Bize ulaşın

Her türlü soru ve öneriniz için lütfen bizimle iletişime geçin: Alexey Kovyazin: [email protected].