• 03-03-2022, 17:04:05
    #1
    Üyeliği durduruldu
    jquery ile saniyelik sorgu gönderdiğim bir php dosyası var.

    php dosyası içerisinde file get contents ile veri çekiyorum. veriyi json olarak tutuyorum.

    bir tane döviz tablom var. döviz tablosundaki altın fiyatını saniyelik sorgu ile güncelliyorum. tablo güncel ve sıkıntı yok. önceki sorularıma yanıt veren arkadaşlar sağolsun onlar sayesinde bitirebildim tabloyu.

    fakat tam burada bir sıkıntım var. herhangi bir döviz sitesinin fiyat güncelleme kısmını kontrol ettiğimde hiç yük görünmüyor. fakat benim dünyanın en ilkel ve acemi yöntemlerimle yapılmış tabloyu inceliyorum muazzam bir tüketim söz konusu. resimlerini ekliyorum:




    senaryonun tümü ile yanlış olabileceğinin farkındayım. çünkü 3-4 haftalık biriyim ve öğrenmeye hevesliyim. sadece sonuç alabilmek odaklı bu örneği yaptım ve kaynak tüketimi, performans gibi konuları öğrenerek ilerlemek istiyorum. bana ne önerirsiniz?

    websocket hakkında araştırma yaptım. daha yeni olduğum için daha basic tavsiyeler verebilirseniz sevinirim. direkt socket sunucusu kurup işleri orada halledecek kadar bilgim yok. teorik pratik her türlü bilgiye açım. her türlü tavsiye benim için çok değerli. şimdiden teşekkür ederim.

    (bilerek bu tür konuları sık sık açıyorum. ben araştırırken eski r10 konularına, başka forumların eski konularına, youtube içeriklerine ve blog yazılarına denk gelerek öğreniyorum. bu soruları sordukça yarın bir gün başka kişiler de yanıtlardan istifade edebilecek. her ne kadar forum kültürü başka yöne evrilse de ben konu açmaya devam edeceğim. katılımlarınızı rica ederim.)
  • 03-03-2022, 17:12:19
    #2
    @ASametYildirim; sen bu işi çözersin samet
  • 03-03-2022, 17:30:28
    #3
    Halil0707 adlı üyeden alıntı: mesajı görüntüle
    jquery ile saniyelik sorgu gönderdiğim bir php dosyası var.

    php dosyası içerisinde file get contents ile veri çekiyorum. veriyi json olarak tutuyorum.

    bir tane döviz tablom var. döviz tablosundaki altın fiyatını saniyelik sorgu ile güncelliyorum. tablo güncel ve sıkıntı yok. önceki sorularıma yanıt veren arkadaşlar sağolsun onlar sayesinde bitirebildim tabloyu.

    fakat tam burada bir sıkıntım var. herhangi bir döviz sitesinin fiyat güncelleme kısmını kontrol ettiğimde hiç yük görünmüyor. fakat benim dünyanın en ilkel ve acemi yöntemlerimle yapılmış tabloyu inceliyorum muazzam bir tüketim söz konusu. resimlerini ekliyorum:




    senaryonun tümü ile yanlış olabileceğinin farkındayım. çünkü 3-4 haftalık biriyim ve öğrenmeye hevesliyim. sadece sonuç alabilmek odaklı bu örneği yaptım ve kaynak tüketimi, performans gibi konuları öğrenerek ilerlemek istiyorum. bana ne önerirsiniz?

    websocket hakkında araştırma yaptım. daha yeni olduğum için daha basic tavsiyeler verebilirseniz sevinirim. direkt socket sunucusu kurup işleri orada halledecek kadar bilgim yok. teorik pratik her türlü bilgiye açım. her türlü tavsiye benim için çok değerli. şimdiden teşekkür ederim.

    (bilerek bu tür konuları sık sık açıyorum. ben araştırırken eski r10 konularına, başka forumların eski konularına, youtube içeriklerine ve blog yazılarına denk gelerek öğreniyorum. bu soruları sordukça yarın bir gün başka kişiler de yanıtlardan istifade edebilecek. her ne kadar forum kültürü başka yöne evrilse de ben konu açmaya devam edeceğim. katılımlarınızı rica ederim.)
    Hızlı yanıt veren apiler mevcut çektiğiniz site ile ilgili bir durum ve yanıt verme oranı gerçekten düşük.
  • 03-03-2022, 17:43:45
    #4
    Üyeliği durduruldu
    servisi tarayıcıda açtığımda yeniliyorum ve ortalama şu sürede yanıt veriyor:

    ben bu servisten veri aldığım veri.php dosyasına sorgu attığımda ise sonuç şu şekilde:

    ben sorunun benden kaynaklı olduğunu düşünüyorum 😅
    OneGui adlı üyeden alıntı: mesajı görüntüle
    Hızlı yanıt veren apiler mevcut çektiğiniz site ile ilgili bir durum ve yanıt verme oranı gerçekten düşük.
  • 03-03-2022, 17:46:09
    #5
    Hocam döviz sitelerinin içinden ayıklayabilirsiniz ek sunucu çalıştırmak zorunda kalmazsınız örneğin bloombergin kullandığı apiden pythonla bu şekilde veri araklayabilirsiniz

    https://gist.github.com/talhatugsat/...111c5229c903a2
  • 03-03-2022, 17:48:24
    #6
    Saniyede bir güncellemeye neden gerek duydun?
    Sen kendi sistemine flood saldırısı yapıyorsun.
    Sıradan bir haber economo sitesi için 45 saniyede hatta dakikada bir güncelleme yeterlidir.
    Kaynaktan yaptığın güncellemeyi de saniyede bir değil dakikada bir yapıp cachelemelisin.
    Bu scripti kullanan 1000 kişi olsa sunucun durmadan her saniye 1000 sorguyu yanıtlamak için 1000 kere kaynak sunucuya bağlanacak.
    Yapman gereken kaynak sunucundan bilgileri bir kere çekip bir file cache dosyasına yazman.
    Jquery tarafında da güncellemeyi en az dakikada bir yapmak.
    node.js falan kullanmayacaksan böyle saniyelik güncelleme yapmak kendi sunucuna flood yapmaktır.
    Sitenin hiti arttıkça bu sorgu sunucuya bir ddos saldırısı haline gelir.
  • 03-03-2022, 17:54:46
    #7
    Üyeliği durduruldu
    php ve jquery ile mümkün ise bu ikisi ile yöntem öğrenmeyi tercih edeceğim hocam
    leaver adlı üyeden alıntı: mesajı görüntüle
    Hocam döviz sitelerinin içinden ayıklayabilirsiniz ek sunucu çalıştırmak zorunda kalmazsınız örneğin bloombergin kullandığı apiden pythonla bu şekilde veri araklayabilirsiniz

    https://gist.github.com/talhatugsat/...111c5229c903a2
    saniyede bir güncelleyen servisin yapısını az da olsa anlayıp görmek için basit bir uygulama yapmak istedim. Mantığını kavramak için saniyede bir güncelliyorum. Site içerisinde 60 saniyede bir güncelletiyorum. Sorgu attığım json dosyasını da 60 saniyede cron ile yazdırıyorum. sitede fiyat gösterdiğim zaman zaten hazır olan json dosyasına sorgu atıyor. hem veri güncel geliyor hem daha kısa sürüyor. tabii bu yanlış olabilir yeni başladığım için aklıma ne gelirse onu deniyorum. ben saniyelik güncellediğimde nasıl en az zararla kurtulabilirim onu merak ediyorum açıkçası. php jquery benim için yeterli değil mi? ilk yanlışım bu mu mesela?

    ilk olarak aklıma cache geldi. onu beceremedim sonra gittim veriyi başka bir ortamda json'a yazdırdım ve json'a yazacak dosyaya sorgu atıyorum 60 saniyede bir. günü kurtardı ama orada durursam öğrenemeyeceğim
    digiklan adlı üyeden alıntı: mesajı görüntüle
    Saniyede bir güncellemeye neden gerek duydun?
    Sen kendi sistemine flood saldırısı yapıyorsun.
    Sıradan bir haber economo sitesi için 45 saniyede hatta dakikada bir güncelleme yeterlidir.
    Kaynaktan yaptığın güncellemeyi de saniyede bir değil dakikada bir yapıp cachelemelisin.
    Bu scripti kullanan 1000 kişi olsa sunucun durmadan her saniye 1000 sorguyu yanıtlamak için 1000 kere kaynak sunucuya bağlanacak.
    Yapman gereken kaynak sunucundan bilgileri bir kere çekip bir file cache dosyasına yazman.
    Jquery tarafında da güncellemeyi en az dakikada bir yapmak.
    node.js falan kullanmayacaksan böyle saniyelik güncelleme yapmak kendi sunucuna flood yapmaktır.
    Sitenin hiti arttıkça bu sorgu sunucuya bir ddos saldırısı haline gelir.
  • 03-03-2022, 18:05:27
    #8
    Halil0707 adlı üyeden alıntı: mesajı görüntüle
    php ve jquery ile mümkün ise bu ikisi ile yöntem öğrenmeyi tercih edeceğim hocam
    function WebSocketTest()
             {
                if ("WebSocket" in window)
                {
                  
                   var ws = new WebSocket("wss://nc.ciner.com.tr/sub/dot");
                    
                   ws.onopen = function()
                   {
                      console.log("Socket açıldı...");
                   };
                    
                   ws.onmessage = function (evt)
                   {
                      var received_msg = evt.data;
                      var obj = JSON.parse(received_msg);
                      console.log(obj.SecuritySlug);
                   };
                    
                   ws.onclose = function()
                   {
                      alert("Socket kapandı.");
                   };
                }
                
                else
                {
                   alert("Websocket bu tarayıcıda desteklenmiyor.");
                }
             }
    WebSocketTest();
    işinize yarar umarım (js dosyanıza ekleyip f12 consoleye bakın)
  • 03-03-2022, 20:50:35
    #9
    Üyeliği durduruldu
    yanıtınız için teşekkür ederim. bunu çalıştıramadım sanırım sunucu desteklemiyor.



    leaver adlı üyeden alıntı: mesajı görüntüle
    function WebSocketTest()
             {
                if ("WebSocket" in window)
                {
                  
                   var ws = new WebSocket("wss://nc.ciner.com.tr/sub/dot");
                    
                   ws.onopen = function()
                   {
                      console.log("Socket açıldı...");
                   };
                    
                   ws.onmessage = function (evt)
                   {
                      var received_msg = evt.data;
                      var obj = JSON.parse(received_msg);
                      console.log(obj.SecuritySlug);
                   };
                    
                   ws.onclose = function()
                   {
                      alert("Socket kapandı.");
                   };
                }
                
                else
                {
                   alert("Websocket bu tarayıcıda desteklenmiyor.");
                }
             }
    WebSocketTest();
    işinize yarar umarım (js dosyanıza ekleyip f12 consoleye bakın)