Ben aşırı fakirim beni bilen bilir vdsleride beleş çektiğimden dolayı ramları çok düşük, ondan dolayı sistemleri olabildiğince verimli hale getirmeye çalıştım böylelikle hiç birşey ödemeden devam edecektim.
Tek vdsde api servis, sorgu paneli ve Discord botu çalışacak şekilde ayarlamıştım her şey güzel gidiyordu bende biraz delilik edip tüm herkesin bildiği bir sorgu panelini hackleyip kendi sorgu panelime yönlendirdim indexe giren herkesi 3 saniye sonra benim siteye atıyordu problemde burada başladı benim site kaldıramadı, siteye çok fazla request geldi.
VDS dayanamadı tabi sshden giriyorum vdsye (dediğim gibi vdsnin verimli olması icin herşey özenle ayarlanmıstı windows kaldırmazdı zaten) vdsye bi giriyorum bi komut yazıyorum 2 dakika sonra yanıt veriyordu free komutunu yazdığımda ise 7 mb ramın kaldığını gördüm, sonra cat /var/log/nginx/access.log dedim ve karşıma devasa log çıktı saniyede 5-6 kişi sorgu atıyordu.
Evet herşeyin bir sınırı var ancak herşeyi süper verimli hale getirirsek neden kaldırmasın ki? Hiç para vermeye niyetim yok ezik cc yapıp vds satanlarla uğraşamam.
Sorgulara cooldown koymak falan akla gelen cozumler ama sorunlar burada bitmiyor tabii ki, altyapının süper verimli ve az ram harcayacak şekilde olması gerekiyor bir sonraki fikrim arayüzü react ile yapıp backendden çekmek direkt api halinde ve pagination (sayfalama) ekleyip LIMIT İle çekilecek veri sayısını azaltmak.
Ben şu anda panelimi süper verimli hale getirmeye çalışıyorum bunlar aklımda olan fikirler, fakirlik insana her şeyi yaptırır işte :d işin birde iyi tarafından bakmak lazım eğer elime hayvani bir vds geçer ise sizin sitelerden çok daha fazla talebi kaldırabilecek bir sistemim olacak zira sizin sitelerininiz php üzerinde çalışıyor ve her bağlantıda yeni thread açıyor sonuc olarka bu da baya verimsiz oluyor ancak güzel nodejs öylemi değil işte her şey asenkronluk üzerine kurulu tek thread ve asenkron olması baya verimli olmasını sağlıyor.
Nodejs ile yazılmış paneli ayrıca bir çok vdsde açıp ortak bir database severe bağlayıp üstüne load balancer koyarak yükü dağıtıp kullanabilirsiniz, bende şu an 3 vds bulunmakta ancak hepside yetersiz ondan dolayı load balancing sistemi hazırlayacağım.
Panelimde fark ettiğim başka hız düşüşene neden olan sorunlar:
- Bcrypt güvenli hash algoritmasının 1 saniyede hashlemesi, bir sorgu paneli için güvenli hash algoritmasına gerek yok herhalde ben diğerlerinin aksine insanları düşündüğüm için öyle yaptım belki başka yerlerde şifreleri kullanıyorlardır ve database kırılırsa şifreleri ifşa olmasın diye ama değmiyor kesinlike, md5 kullanacağım her ne kadar bcrypt akdar guvenli olmasada
- JWT tokenleri imzalamanın yavaş olması bundan dolayı panelimde yavaşlamanın meydana gelmesi
- Sorgularda cooldown olmaması
- Apili sorguların api patlak olunca altyapıyı çökertmesi (düzeltilebilir basit bir sorun, millet spamlayınca denial of service etkisi yapıyor işte ama tek bir try catch eklemeye bakar herşey)
Panelin çalıştığı vds:
1 GB ramlı aws ec2 Ubuntu işletim sistemli
Tek vdsde api servis, sorgu paneli ve Discord botu çalışacak şekilde ayarlamıştım her şey güzel gidiyordu bende biraz delilik edip tüm herkesin bildiği bir sorgu panelini hackleyip kendi sorgu panelime yönlendirdim indexe giren herkesi 3 saniye sonra benim siteye atıyordu problemde burada başladı benim site kaldıramadı, siteye çok fazla request geldi.
VDS dayanamadı tabi sshden giriyorum vdsye (dediğim gibi vdsnin verimli olması icin herşey özenle ayarlanmıstı windows kaldırmazdı zaten) vdsye bi giriyorum bi komut yazıyorum 2 dakika sonra yanıt veriyordu free komutunu yazdığımda ise 7 mb ramın kaldığını gördüm, sonra cat /var/log/nginx/access.log dedim ve karşıma devasa log çıktı saniyede 5-6 kişi sorgu atıyordu.
Evet herşeyin bir sınırı var ancak herşeyi süper verimli hale getirirsek neden kaldırmasın ki? Hiç para vermeye niyetim yok ezik cc yapıp vds satanlarla uğraşamam.
Sorgulara cooldown koymak falan akla gelen cozumler ama sorunlar burada bitmiyor tabii ki, altyapının süper verimli ve az ram harcayacak şekilde olması gerekiyor bir sonraki fikrim arayüzü react ile yapıp backendden çekmek direkt api halinde ve pagination (sayfalama) ekleyip LIMIT İle çekilecek veri sayısını azaltmak.
Ben şu anda panelimi süper verimli hale getirmeye çalışıyorum bunlar aklımda olan fikirler, fakirlik insana her şeyi yaptırır işte :d işin birde iyi tarafından bakmak lazım eğer elime hayvani bir vds geçer ise sizin sitelerden çok daha fazla talebi kaldırabilecek bir sistemim olacak zira sizin sitelerininiz php üzerinde çalışıyor ve her bağlantıda yeni thread açıyor sonuc olarka bu da baya verimsiz oluyor ancak güzel nodejs öylemi değil işte her şey asenkronluk üzerine kurulu tek thread ve asenkron olması baya verimli olmasını sağlıyor.
Nodejs ile yazılmış paneli ayrıca bir çok vdsde açıp ortak bir database severe bağlayıp üstüne load balancer koyarak yükü dağıtıp kullanabilirsiniz, bende şu an 3 vds bulunmakta ancak hepside yetersiz ondan dolayı load balancing sistemi hazırlayacağım.
Panelimde fark ettiğim başka hız düşüşene neden olan sorunlar:
- Bcrypt güvenli hash algoritmasının 1 saniyede hashlemesi, bir sorgu paneli için güvenli hash algoritmasına gerek yok herhalde ben diğerlerinin aksine insanları düşündüğüm için öyle yaptım belki başka yerlerde şifreleri kullanıyorlardır ve database kırılırsa şifreleri ifşa olmasın diye ama değmiyor kesinlike, md5 kullanacağım her ne kadar bcrypt akdar guvenli olmasada
- JWT tokenleri imzalamanın yavaş olması bundan dolayı panelimde yavaşlamanın meydana gelmesi
- Sorgularda cooldown olmaması
- Apili sorguların api patlak olunca altyapıyı çökertmesi (düzeltilebilir basit bir sorun, millet spamlayınca denial of service etkisi yapıyor işte ama tek bir try catch eklemeye bakar herşey)
Panelin çalıştığı vds:
1 GB ramlı aws ec2 Ubuntu işletim sistemli