Как я могу имитировать неотвечающий сервер? - PullRequest
6 голосов
/ 12 февраля 2010

У меня есть веб-сервис, который клиенты используют, вставляя внешний JavaScript (размещенный на моих серверах). В последнее время из-за простоя сервера - внешний JavaScript стал недоступен, и сайты моих клиентов попали в обход, так как браузер не загружал остальную часть сайта, пока не загрузил JS (он входит в заголовок сайтов).

Я пытаюсь разработать методы, чтобы веб-сайт клиентов не замедлялся, даже если мой сервер отключился, и для этого я хотел смоделировать состояние, при котором мой сервер не отвечает. Обратите внимание, что если я укажу неправильный URL, браузер не загрузит JS, но если URL правильный, а сервер не отвечает, браузер остановит загрузку остальной части страницы. Я хочу смоделировать последний случай. Есть идеи, как мне это сделать?

PS: на стороне сервера я использую стек LAMP.

Ответы [ 5 ]

9 голосов
/ 12 февраля 2010

Создайте сценарий, который спит в течение настраиваемо долгого времени

Что-то вроде

<?php
$how_long = $_GET['seconds'];
sleep($how_long);
echo "alert('Finished sleeping!');";
?>

Тогда вы просто получаете доступ к этому сценарию, например, помещая его в свой HTML-код. <script src="http://example.com/hang_for.php?seconds=3600" />. Это будет спать в течение часа. Будут другие тайм-ауты, которые будут активированы в php.ini, но это именно то, что вы хотите протестировать, нет?

2 голосов
/ 12 февраля 2010

Если буквой «P» в вашей лампе является PHP, вы можете использовать функцию sleep (задокументировано здесь ). Затем пусть ваша тестовая страница загрузит ваш PHP-скрипт в качестве источника вашего Javascript, чтобы посмотреть, что произойдет.

0 голосов
/ 12 февраля 2010

отключение довольно радикально, кнопка выключения должна подойти.

0 голосов
/ 12 февраля 2010

Отключите сервер. Отсутствие питания приводит к тому, что сервер перестает отвечать на запросы ...

0 голосов
/ 12 февраля 2010

Вы пытались зациклить сервер обратно в себя (или любой другой HTTP-сервер без веб-службы)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...