Моделирование на локальной машине разработки временного не отвечающего сервера или перегрузки сети (Apache/PHP)
У меня есть интерактивная веб-страница, которая при взаимодействии с пользователем делает асинхронные запросы к серверу (загрузка изображений, данных и т. Д.).
На заключительном этапе я реализую код JavaScript, чтобы правильно обрабатывать ситуации, когда сервер слишком загружен или возникает перегрузка сети, а запрос не выполняется.
Во время разработки сервер и клиент (браузер) работают на компьютере разработчика (localhost).
Чтобы протестировать код, я должен смоделировать на моей локальной машине разработки такие ситуации.
Я могу легко смоделировать ответ "Служба недоступна".
Но как я могу симулировать "вообще никакого ответа"?
Размещает
sleep(3600);
в начале php
что выполняется, когда запрос сделан достаточно для достижения того, что мне нужно смоделировать?
Или что-то еще возвращается в браузер?
Есть ли лучший способ протестировать код на стороне браузера в ситуациях плохой доступности сервера?
редактировать
Один из вариантов - просто выключить сервер, работающий на localhost, как предложил Дэйв в своем ответе.
Я бы предпочел, если возможно, избежать этого.
Я хотел бы иметь возможность пропустить некоторые запросы и удовлетворить некоторые другие.
Идея заключается в том, что клиентский код JavaScript, работающий в браузере, будет повторять неудачные запросы.
Сервер имитирует недоступность для одного запроса, клиент повторяет, сервер дает ответ...
1 ответ
Единственный способ, с которым вы когда-либо столкнетесь с этим, - это если бы javascript для ваших асинхронных запросов вызывал данные / файлы с сервера, отличного от сервера, выдвигающего ваши основные страницы. так что если вы просто запускаете один экземпляр apache, например, то вы никогда не столкнетесь с перегрузкой в сети или недоступны. если вы, например, используете apache в качестве основного веб-сервера и nginx на другом порту в качестве вашего контент-сервера, то протестировать его - просто остановить nginx, обслуживающий ваш контент.
Если вы хотите протестировать с точки зрения пользователей, что ваш веб-сервер находится в автономном режиме, и все же его клиент все еще обрабатывает / выполняет javascript (при условии, что ваш сервер был подключен к сети для начальной загрузки / запроса), загрузите страницу в браузере и остановите ваш веб-сервер, затем подождите, пока он не выдаст ошибку на стороне клиента. Конечно, вам нужно перезапустить веб-сервер, чтобы перезагрузить ваши файлы и провести повторную проверку после изменений.