![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Załóżmy, że mam bazę z adresami IP serwerów Counter Strike. Potrzebuję średnio co 20 minut aktualizować sobie informacje o każdym z tych serwerów i zapisywać to do bazy. Zastanawiam się jednak po pierwsze jakiej biblioteki użyć do wyciągania informacji o serwerach. Obecnie stosuję bibliotekę GameQ: http://gameq.sourceforge.net/ Póki co dla próby wyciągnąłem sobie informacje o jakimś tam serwerze w ten sposób:
I skrypt wyciąga naprawdę sporo informacji o serwerze, zapewne sam właściciel serwera nie wie tyle co ja mogę dzięki temu skryptowi wiedzieć o jego serwerze. Jednak wziąłem powyższy skrypt w pętlę for i wykonałem skrypt 24 razy, dostałem czas ponad 5 sekund i kilka ostatnich rekordów wyrzuciło mi jako "Serwer is offline", mimo tego, że cały czas sprawdzałem ten sam serwer. Dodatkowo przy zmianie wartości pętli z 24 na 25 już dostałem: Cytat Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@mypage.xaa.pl and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. A przy wykonaniu pętli 23 razy, skrypt wykonuje się w pół sekundy. Nie wiem czemu jedno wykonanie w tą czy w tamtą robi tak olbrzymią rozbieżność czasową. I teraz zastanawiam się: a) czy ten skrypt jeśli chodzi o optymalność jest dobry? Może ktoś zna coś lepszego? (IMG:style_emoticons/default/cool.gif) jak w tym wypadku sprawdzić wszystkie serwery, mając ich w bazie ponad 1000? Czy sprawdzanie np. 20 serwerów za jednym wykonaniem takiego skryptu to będzie dobry pomysł? Pozdrawiam! (IMG:style_emoticons/default/wink.gif) Ten post edytował Michael2318 18.03.2014, 13:22:15 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Użyj CRON-a i wykonuj sprawdzanie każdego serwera w odstępie czasowym (np. 10 sekund).
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Tak też chcę zrobić, ale myślę czy nie lepiej sprwadzać właśnie na raz np. 20 serwerów i po tych 10 sekundach kolejną dwudziestke ?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 11:06 |