Bağlanmak makale ile sorun Yazar açıkça gerçekten o "darboğaz" nerede diye sorduğunda ne dediğini bilmiyor ki; Birisi veritabanı sunucuları daha fazla web sunucularını sahip olması "sorunun nerede veritabanı olamaz" anlamına gelmez. Genellikle "veritabanı darboğaz" demek ne hiç bir web uygulamasının çalışma zamanı profilleme yapar herkes tarafından öğrenilmiş oldu aynı şey.
Tam bir yanıt dönmek için yarım saniye sürer bir uygulama düşünün. Eğer oturup düşünelim ve profil, aşağıdaki gibi işlem süresi yarım saniye ayırır bulabilirsiniz:
- 50ms: Gelen istek Ayrıştırma
- Sorgulama veritabanı: 350ms
- Cevap için HTML Rendering: 50ms
- Dışarı geri yanıtı gönderme: 50ms
Eğer veritabanı sorguları uygulamasının fiili çalışma süresi 70% teşkil nerede, böyle bir arıza görseniz, haklı veritabanı darboğaz olduğu sonucuna ediyorum. Ve onlar do uygulamaları (ve genel olarak veritabanı yüzden tamamen işleme kalanı için dil seçimi herhangi bir fark kimse yapmaz işlem süresini hakim profile çoğu insan bulmak tam olarak ne ) göreceksiniz.
Ilgili veritabanı sunucularının sayısı çok fazla önemli değil çıkıyor; Burada ünlü alıntı bağlı olduğunuz yazının yazarı gibi insanlar bir bebek var ve birlikte çalışan dokuz kadın bir ay içinde yapabileceğini varsaymak için dokuz ay bir kadın alır duymak türleri olmasıdır. Veritabanı açıdan: belirli bir sorgu bunlardan herhangi biri herhangi bir hızlı olduğunu sorguyu yürütmek mümkün yapmak için gitmiyor fazla DB sunucular ekleyerek sonra, belirli bir DB üzerinde yürütmek için 100ms sürerse. Daha fazla veritabanı sunucuları eklemek için nedeni daha fazla eşzamanlı istekleri işlemek ve izole istekleri daha hızlı gitmek yapmak için değil, aşırı almak sizin DB tutmak mümkün olmaktır.
Ve oradan bir uygulama ölçekleme olağan dans gitmek: yanıtları veri alma veya işleme harcanan toplam süreyi azaltmak için önbelleğe alma, yük dengeleme size hizmet sharding ve daha gelişmiş veritabanı tasarım eşzamanlı istekleri sayısını artırmak için vs, vs yük altında bogging tutmak için düzenleri
Ama, bir kez daha, zaman harcanan tutar veya kaydedilmiş diğer faktörler tarafından fena halde kazandığı zaman miktarı daha ağır basar ya da "hızlı" bir kayıp, çünkü bunların hiçbiri kullanımı programlama dili ile yapmak için herhangi bir şey var, dikkat edeceğiz ya da "yavaş" dil (ve tabii ki, gerçekten böyle bir şey var, o kadar problem alanı ve sadece bir anlamlı genel bir karşılaştırma olamaz programcı beceri bağlıdır).
Her neyse, bu tür uzun ve başıboş oluyor, bu yüzden ben sadece genel bir kılavuz ile saracağım: Eğer "daha hızlı çalışır çünkü Dil X inşa etmeliyiz" savunarak birini görürseniz, o ölü bir hediye onlar don var 't gerçekten gerçek dünya performansı veya ölçekleme hakkında bir şey biliyor. Sadece "hızlı dilinde yazmak" için aşağı geldi eğer tüm sonra, onlar tavsiye ediyorum, çünkü biz tüm kullanım montaj :)