Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obciążenie serwera.
patryk20120
post
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

Ostrzeżenie: (0%)
-----


Witam Was,

napisałem w miarę prosty skrypt na swoją strone, lecz po wejściu sporej liczby osób np. 100 strona zaczyna bardzo wolno się ładować. Możecie mi powiedzieć, czy poniższy kod może aż tak obciążać serwer?

Mam taki kodzik na stronie:
  1. <script type="text/javascript" language="javascript">
  2. $(document).ready(function() {
  3.  
  4. function live(){
  5. $.ajax({
  6. url: './a_php.php',
  7. data: {data: 'info'},
  8. type: 'post',
  9. success: function(output) {
  10. $("#div").html(output);
  11.  
  12. }
  13. });
  14.  
  15. }
  16. live();
  17. setInterval(function(){live();}, 19800);
  18.  
  19. });
  20. </script>


a to kod a_php.php
  1. <?php
  2. if( $_POST['data'] == 'info' && !empty($_POST['data'])){
  3.  
  4. $twitch_live = false;
  5. $twitch_live_v = 0;
  6. $twitch_live_t = '';
  7. $twitch_live_g = '';
  8. //---------------------
  9. $gamecreds_live = false;
  10. $gamecreds_live_v = 0;
  11. $gamecreds_live_t = '';
  12. $gamecreds_live_g = '';
  13. //------------
  14. $wyswietl = '';
  15. $razem = 0;
  16. //pobieranie danych gamecreds
  17. $json_array = json_decode(file_get_contents('https://api.dailymotion.com/videos/?ids=kod&fields=title,genre,onair,tag,audience&limit=25'), true);
  18. if($json_array['list'][0]['onair'] == true){
  19. $gamecreds_live = true;
  20. $gamecreds_live_v = $json_array['list'][0]['audience'];
  21. $gamecreds_live_t = $json_array['list'][0]['title'];
  22. $gamecreds_live_g = $json_array['list'][0]['tag'][1];
  23. }
  24. //pobieranie danych twitch
  25. $json_array2 = json_decode(file_get_contents('https://api.twitch.tv/kraken/streams/nick'), true);
  26.  
  27. if ($json_array2['stream'] != NULL) {
  28. $twitch_live = true;
  29. $twitch_live_v = $json_array2['stream']['viewers'];
  30. $twitch_live_t = $json_array2['stream']['channel']['status'];
  31. $twitch_live_g = $json_array2['stream']['channel']['game'];
  32.  
  33. }
  34.  
  35. if($twitch_live == true || $gamecreds_live == true){
  36. $razem = $twitch_live_v + $gamecreds_live_v;
  37. $wyswietl = '
  38. <div id="live-header-on">
  39. '.$razem.'</div>';
  40. }
  41.  
  42.  
  43. if($twitch_live == false && $gamecreds_live == false){
  44. $wyswietl = '
  45. <div id="live-header-off"></div>';
  46. }
  47.  
  48. echo $wyswietl;
  49.  
  50. }
  51. ?>


Czy przyczyną obciążenia jest źle zrobiony kod, czy słaby serwer lub z jakimiś ograniczeniami?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
patryk20120
post
Post #2





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

Ostrzeżenie: (0%)
-----


Też można, ale problem w tym, że nie wiem jak zrobić skrypt, który będzie odpalał się tylko i wyłącznie co np. 20 sekund. Ponieważ jak zrobie go w aktualizuj.php i ktoś w niego wejdzie to będzie aktualizowało dane do bazy. To samo jak go "zaincluduje" do index.php, też bedzie się odpalał za każdym razem jak ktoś wejdzie na strone.
Go to the top of the page
+Quote Post
jackraymund
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

Ostrzeżenie: (0%)
-----


Cytat(patryk20120 @ 31.08.2013, 18:36:11 ) *
Też można, ale problem w tym, że nie wiem jak zrobić skrypt, który będzie odpalał się tylko i wyłącznie co np. 20 sekund. Ponieważ jak zrobie go w aktualizuj.php i ktoś w niego wejdzie to będzie aktualizowało dane do bazy. To samo jak go "zaincluduje" do index.php, też bedzie się odpalał za każdym razem jak ktoś wejdzie na strone.

Poczytaj o cron
jest to program który uruchamia skrypt w określonych momentach czasu,
więc jeżeli masz dostęp do crona to możesz odpalić co 20sekund, a dane wpisać do bazy, i wyczytywać je w ajaxie
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 04:51