lostyazilim

Php ve Sunucu ile Alakalı?

34 Mesajlar 4.836 Okunma
lstbozum
wmaraci reklam

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
Merhaba herkese,

Bir bot yazılımı yapıyorum ve bu bot yazılımı php-curl mantığında. X Sitesi diyelim bu x sitesine sunucumuz tek tek sorgu (curl) atıyor ve çekiyor kullanıcının bilgilerini öğrenmek için. Fakat takıldığım nokta şu ; Sadece 1 kişi bile sistemi kullanırken 5000e yakın sorgu attırabilir sisteme. Peki sunucu buna nasıl dayanacak? Örneğin 10 kişi aynı anda işlem yapsa 10 x 5.000 = 50.000 Sorgu demek (php-curl). Tahminimce site yavaş yavaş çökmeye başlayacak bunu nasıl önleyebilirim?

Veya şöyle soralım ;
Aynı anda 50.000 sorgu (php curl ile veri çekiliyor) sunucunun çökmemesi veya hızı etkilememesi için nasıl bi yol izlemeliyim?
 

 

wmaraci
reklam

carasar carasar All ızz well... Kullanıcı
  • Üyelik 29.10.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek Öğretmen
  • Konum Konya
  • Ad Soyad O** K**
  • Mesajlar 1116
  • Beğeniler 499 / 498
  • Ticaret 16, (%100)
1.Yöntem
Veriler anlık değişmiyorsa veritabanına kaydedip oradan kullanıcılara işlem yaptırırsınız. Cron ile belli aralıklarla verileri güncellersiniz.

2-.Yöntem
Kullanıcılara saatlik limit koyabilirsiniz.
xsafa

kişi bu mesajı beğendi.

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
carasar

Bilgiler anlık değişiyo hocam o yüzden geçici olarak kendi veritabanımda gizleme şansım yok maalesef.. 2. Yöntem içinde hocam limit koysamda koymadığım kişiler bile yeni anlık aynı anda 50bine yakın sorgu yapabilirler. O yüzden buda çözüm değil maalesef :/
 

 

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
Başka fikri olan var mı dostlar?
 

 

wmaraci
wmaraci

EfeCetin EfeCetin Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 14.07.2019
  • Yaş/Cinsiyet 25 / E
  • Meslek Developer
  • Konum Karabük
  • Ad Soyad E** Ç**
  • Mesajlar 230
  • Beğeniler 17 / 53
  • Ticaret 0, (%0)
Sıra sistemi yap , sırayla çeksin
 

 

TheCompany TheCompany WM Aracı Kullanıcı
  • Üyelik 26.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Developer
  • Konum Ardahan
  • Ad Soyad Ç** T**
  • Mesajlar 193
  • Beğeniler 16 / 40
  • Ticaret 5, (%100)
Sorgu yapan ip adreslerini zaman damgasıyla bir veritabanı tablosuna kaydedeceksin, duruma göre rate limit uygulayacaksın, bu şekilde sistemini koruyabilirsin. Bu arada karşı tarafın sunucu güvenliği çok sorgu yaparsan ip adresini engelleyebilir, bunun için de ayrıca proxy kullanman yararına olur.
xsafa

kişi bu mesajı beğendi.

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
EfeCetin Hocam sıra sistemi çözüm değil ya her kullanıcı anlık işlem yapmak isteyecek.
TheCompany Karşı taraf bize engel değil hocam yani herhangi bir limit vs vurmuyor, rate limit olayını anlamadım hocam veritabanına kaydetsemde bu işlem yapamayacak anlamına gelmez yani bunu engellememiz lazım.

Sistemi açıkca söylemek gerekirse yazılımımız bir bot sitesi. Ve bir kullanıcı butona tıklayarak her 1 saniyede 1 sorgu yapacak (toplam 5.000 sorgu varsayalım) Ama aynı anda 10 kişi sorgu yaparsa sistem muhtemel dayanamayacak. Bunu nasıl çözerim yani sorum açıkcası şu şekilde ;

Aynı anda sistemde 50.000 sorgu yapılsa da site hızından ödün vermemesi lazım bunu nasıl yapabiliriz?
 

 

EfeCetin EfeCetin Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 14.07.2019
  • Yaş/Cinsiyet 25 / E
  • Meslek Developer
  • Konum Karabük
  • Ad Soyad E** Ç**
  • Mesajlar 230
  • Beğeniler 17 / 53
  • Ticaret 0, (%0)
Bence en iyi sira sistemiyle çözulur . Anlik isleme göre yapma süresi değiştir aternos vs. Gibi
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 821
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
PHP 8, Ngnix, Redis, Optimize edilmiş sorgular diye uzar gider.
ikodev

kişi bu mesajı beğendi.

no time for caution

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
Decimas Bunları bir araştırıcam. (Sunucu tarafında neler yapılabilir?)
 

 

wmaraci
Konuyu toplam 3 kişi okuyor. (0 kullanıcı ve 3 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al