Próbuję stworzyć prosty skrypt równoważenia obciążenia i zastanawiałem się, czy można znaleźć czas odpowiedzi serwera na żywo? Mam na myśli to, czy można zmierzyć, ile czasu zajmuje serwerowi odpowiedź po wysłaniu żądania?
To, co staram się zrobić, jest dość proste, chcę wysłać żądanie do linku/serwera i odliczać, jeśli serwer zajęło więcej niż 5 sekund na odpowiedź, chciałbym wpaść na serwer zapasowy.
Zauważ, że nie musi być w czystym php, nie miałbym nic przeciwko używaniu innych języków, takich jak javascript, C/C++, asp, ale wolę to zrobić w PHP. jeśli jest to możliwe, czy mógłbyś wskazać mi właściwy kierunek, abym mógł o tym przeczytać.
Wyjaśnienie
To, co chcę zrobić, to nie pobierać pliku i sprawdzać, jak długo to trwało, moje serwery mają duże obciążenie i trochę czasu zajmuje im odpowiedź po kliknięciu pliku do pobrania. Chcę tylko zmierzyć czas potrzebny serwerowi na odpowiedź (w tej sytuacji jest to czas potrzebny serwerowi na odpowiedź i umożliwienie użytkownikowi pobrania pliku), a jeśli trwa to dłużej niż x
sekund, powinien wrócić do serwer zapasowy.
2 odpowiedzi
Myślę, że powinieneś spojrzeć na curl_getinfo zwraca on następujący, który jest więcej niż potrzebujesz
url
content_type
http_code
header_size
request_size
filetime
ssl_verify_result
redirect_count
total_time <------------------ what you need
namelookup_time
connect_time
pretransfer_time
size_upload
size_download
speed_download <------- Speed
speed_upload
download_content_length
upload_content_length
starttransfer_time
redirect_time <------ Can cause increase in time
certinfo
Twoja edycja: if it takes longer than x seconds, it should fall back on a
Rozwiązanie: Wszystko, czego potrzebujesz, to ustawienie CURLOPT_CONNECTTIMEOUT
na x seconds
... To się zakończy i możesz przejść do innego zadania.
Podobnie do curl możesz również użyć HttpRequest
i ustawić opcję timeout
na 5.
Podobne pytania
Nowe pytania
php
PHP to szeroko stosowany, wysokopoziomowy, dynamiczny, zorientowany obiektowo i interpretowany język skryptowy przeznaczony głównie do tworzenia stron WWW po stronie serwera. Używane w przypadku pytań dotyczących języka PHP.