Ölçeklenebilirlik (Scalability) konusunu zor yollardan öğrenmiş Steffen Konerow isimli şahsın yazdığı güzel bir yazı buldum. Yazıda 1 milyon kullanıcının ziyaret ettiği bir web uygulamasının nasıl çöktüğü, çöküşe engel olabilmek için neler yaptıkları ve hatalarını çok güzel anlatmış. Ben de elimin altında bulunsun diye bu 6 maddeyi yazayım dedim. (Bize soraydı biz de yardım ederdik heheh)
1. Dosyaları ağ üzerindeki bir alanda tutun ve sunucunuz ölsün. (Lokal diskte tutun ya da çok erişilen dosyaları hafızada (ramdisk) tutun.)
2. Web sunucunuzun ayarlarıyla oynamayın direkt kurup kullanın ve sunucunuz ölsün. (Sunucusu ayarlarında optimizasyon yapın, daha performanslı web sunucuları (ngix gibi) tercih edin.)
3. Tek bir veritabanı sizi sonsuza kadar idare eder diye düşünün ve sunucunuz ölsün. (En güçlü veritabanı sunucunun bile bir limiti vardır. Limitlere ulaşmadan master-slave yapısı ya da cluster yapısına geçin.)
4. Sunucu yavaşlayınca daha iyisini alırım diyin ve sunucunuz ölsün. (Daha fazla donanıma para harcamak yerine açık kaynaklı yazılımları araştırın, mesela memcached gibi. Doğru cache’leme ile veritabanınızı rahatlatabilirsiniz.)
5. Bütün dosyaları tek bir dizinde tutun ve sunucunuz ölsün. (Çok sayıda dosyayı tek bir dizinde tutmayın, dosyaları farklı klasörlere yayın ya da farklı dosya sistemleri (ReiserFS vs) deneyin.)
6. Tamam artık süper çalışıyor daha fazla geliştirmeye gerek yok diyin ve sunucunuz ölsün (Geliştirmeyi hiç bırakmayın, sürekli öğrenin, araştırın.)
Yazının tamamı şurda: http://highscalability.com/blog/2010/8/23/6-ways-to-kill-your-servers-learning-how-to-scale-the-hard-w.html