20 Oca
Gönderen orhandogan, Kategori Bilişim, Herşeye dair, Linux, MySQL, PHP
Siteniz iyice büyüdü ve S.O.S vermeye mi başladı? O halde lütfen okumaya devam edin..
Aah aaahh nerede o eski güzel günler: Hani sizin için büyük anlamlar ifade eden web sitenize girdiğinizde; anında sayfaların açıldığı, resimlerin bir çırpıda geldiği sayfalar arasında dolaşmanın göz açıp kapamaktan daha hızlı olduğu o güzel günler…
Kendi ekibinizi kurmuştunuz, iş planlarınızı hazırlamıştınız ve büyük bir hevesle sitenizi açarak Internetteki yerinizi almıştınız. Hiç bir masraftanda kaçınmamıştınız, hatta kendi yazılımcılarınıza yazdırmıştınız ve yine birkça U luk sunucular satınalmıştınız.. Anlaşma yaptığınız datacenter a sunucularınızı yerleştirmiştiniz.
Siteyi yayına aldığınızda, ilk öngörünüze göre ziyaretçi sayınız ve işlem sayılarınız fazla olmayacaktı bununla birlikte zamanla sitenizin bilinirliliği artacak ve sizde ona göre sitenizin alt yapısını iyileştirecektiniz. Önce bir iş yapsın sonra alt yapıyı iyileştiririz, hiç olmassa kodları yeniden yazdırırız ya da piyasadaki en iyi sunucuları alırdınız yine olmassa yurt dışından sunucu getirtebilirdiniz..
Aradan birkaç sene geçti.. Tanındınız.. Ziyaretçi sayılarınız, günlük sayfa gösterimleriniz tahminlerinizi bile alt üst etti.. İlk açıldığınız haftada günlük ortalama 100-200 sayfa gösterimi yapıyordunuz bununla birlikte aradan geçen 3 yılın sonunda günlük ortalama 1 milyon sayfa gösterimi yapar hale geldiniz.. Sitenize de yeni özellikler eklediniz..
Ve zaman içinde farkettinizki o şıp diye açılan siteniz eskisi kadar hızlı cevap vermiyor. Hız sorunlarını, kesinti sorunlarını aşabilmek için ilk iş olarak mevcut yapıda daha etkin cache yapısı kullanmaya çalıştınız.. Mümkün olan herşeyi cache lediniz ve veritabanına daha az istekte bulunmaya çalıştınız. Başarılıda oldunuz.. Ama bir süre! İstek çeşitliliği arttıkça cachle işleminin veriminin düştüğünü ve yine veritabanına yüklendiğinizi farkettiniz.
Veritabanı sunucunuzun işlemci ve ram kullanma oranlarının çok yükseldiğini gördünüz. Baktınız ki 8GB ramli çift işlemcili veritabanı sunucunuz fiziksel olarak yetmez hale gelmiş. Bir yileştirme hamlesi olarak daha iyi bir sunucu almaya karar verdiniz. 8GB den 16GB ramli 4 işlemcili daha pahalı bir sunucu satın alıp veritabanınızı o makineye taşıdınız. İşe yaradı da! Siteniz tekrar hızlı cevap verir hale geldi. Veritabanınızdaki takılmalar azaldı. Ancak aklınızda bir soru işareti oluştu… Ya gün gelirde bu sunucu da yetmez hale gelirse ve siteniz yine yavaşlarsa ne yapardınız!!! İçinizden bir an için daha da iyi makine alırım diye geçti ama gün gelipte o da yetmezsse ne yaparım endişesi iyice içinizi kapladı.. Özenle kurduğunuz büyüttüğünüz bir noktaya getirdiğiniz ve çook rağbet gören siteniz, tamda bu sebeple çook rağbet görmesi sebebiyle çökecek miydi.
Veritabanı sunucusunun çalışacağı sunucuyu daha kuvvetli makinede çalıştırmaya başladınız ancak bu durum sizi tatmin etmedi halen endişeliydiniz bir çözüm bulmalıydınız ve buldunuz da! Evreka!
Bir yerlerden öğrendiniz ki Master-Slave yapısı diye birşey varmış. Tüm kaydedilecek bilgileri Master veritabanına kaydedebileceğinizi, tüm okuma işlemlerini ise Slave Veritabanı sunucularından yapabileceğinizi öğrendiniz, hemen yazılımcılarınızla küçük bir istişare toplantısından sonra kararınızı aldınız: Master-Slave Sunucu yapısına geçiyoruz!
Master-Slave yapısı bir hızır gibi imdadınıza yetişti. Sanki tam da aradığınız şeydi. Her derdinizin devası gibi.. İyice yavaşlamış sitenizin tüm kodlarını taradınız ve tüm INSERT leri master a tüm SELECT leri ise Master ile aynı bilgilere sahip olan SLAVE lere gönderdiniz. 1 Master, istediğiniz sayıda Slave sunucu! Gayet esnek bir yapı gibi gözünüze göründü. Veritabanı sorgu isteklerini karşılayamadığınızda Slave sayınızı artırırdınız ve sorunu çözerdiniz.
İlk önce 1 master, 2 slavele bu yapıyı kurguladınız, sonra slave sayınız 3,4,5.. giderek arttı. Bu yapı sizi ilk başlarda çok memnun etmişti.. yaklaşık 2-3 yıl sizi idare etti de.. Ancak sorunlar yine baş göstermeye başladı.. Siteniz bir hayli büyüdü günlük sayfa gösterimleriniz 1 milyon lardan 15-20 milyonlara ulaştı.
Bu arada Master ve Slave sunucularınızı da değiştirdiniz. 16 CPU lu 128 GB ramli master sunucunuz oldu.. Diğer Slave veritabanı sunucularının da donanımlarını iyileştirdiniz 8CPU lu 64GB ramli sunuculara geçtiniz.
Orhan DOĞAN
Yazılım Mühendisi
od@orhandogan.us
2 Yanıt
haqen
Ocak 20th, 2010 at 3:37 pm
1Orhan’ın bu konulardaki çalışmalarını yakinen takip ediyorum. Kendisi bu konuda gerçekten uzun zamandır uğraşıyor ve oldukça birikim sahibi. Bilgi birikimini bizimle bu yazıdizisi üzerinden paylaştığı için kendisine teşekkür ederim.
Başarılarının devamını dilerim, takipteyim
Dikine Büyüyen Kümesteki Kartal - Bölüm 2 , Orhan DOĞAN
Ocak 21st, 2010 at 3:40 pm
2[…] “Dikine Büyüyen Kümesteki Kartal” yazı dizisinin bu ikinci bölümünde Yeni Internet Girişimi sitemizin açılışını ve bu ilk evresindeki donanım ve yazılımına dair genel görünümüne dair bir fotoğraf çekeceğim. […]
Bu gönderiye ait yorumlar için RSS beslemesi · TrackBack URI
Yorum yazın
Yorum göndermek için giriş yapmış olmanız gerekir.
Kategoriler
Arşiv
Birde Bunlara Bakın
Bilgi
Takvim