Назад | Перейти на главную страницу

Веб-сервис случайным образом разрывает соединения - возможно, из-за непостоянных данных брандмауэра?

У меня есть размещенное веб-приложение, которое запрашивает данные из веб-службы REST в нашем офисе. Каждая страница вызывает один (или несколько) веб-сервисов, которые отправляются с нашего хоста через наш брандмауэр (Watchguard Firebox) на сервер в нашем офисе.

Внезапно приложение резко замедлилось. Мы определили, что время ожидания веб-службы случайно истекает при внешнем вызове (нормально при вызове в офисной сети).

Я почти уверен, что это наше соединение отбрасывает вызов веб-сервиса, поэтому я написал быстрый скрипт php / curl, который вызывает веб-сервис на многих итерациях и показывает различные тайминги.

Ниже приведен пример вывода, показывающий как неудачный, так и успешный вызов (с таймаутом 5 секунд):

    http_code           namelookup_time     connect_time        pretransfer_time    starttransfer_time  total_time          
1   0                   0.000096            0.0342              0.0000              0.0000              0.0342              
2   200                 0.000052            0.0332              0.1327              0.1751              0.1752              

В соответствии с итерацией №1 выше, неудавшиеся запросы кажутся неуспешными между connect и pretransfer. Я не уверен, показывает ли это, что соединение успешно прошло через брандмауэр, или брандмауэр все еще вызывает проблему?

Наш брандмауэр показывает серию nondata event сообщения журнала для соответствующего правила доступа. Наши ИТ-специалисты говорят мне, что это обычное дело, хотя я не могу найти упоминания об этом в Google. Я не уверен, подходит ли это между подключением и предварительным переносом.

После завершения работы с сервером веб-сервиса (путем внутреннего тестирования) и живого веб-приложения (путем тестирования другого кода на разных внешних серверах я подозреваю подключение к офису. Могут ли события, не связанные с данными firebox, вызывать проблему между подключением и предварительной передачей?