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

Как определить, почему определенный ресурс (изображение или библиотека) замедляет загрузку страницы

У нас есть небольшая сеть (может быть, 15 пользователей в рабочее время, около 30 устройств), управляющая подключением к Интернету и телефонными линиями.

Основное использование сети - это доступ пользователей к внешнему веб-интерфейсу базы данных, с помощью которого они управляют бизнесом (клиентами, продажами, счетами и т. Д.). этот веб-интерфейс базы данных представляет собой приложение php / mysql, разработанное за последние полтора года. Как основной (если не единственный) программист, я имею доступ ко всему, что касается этого приложения и нашей сети, от нашего хостинга до исходного кода и выбора технологий.

несколько месяцев назад мы заметили очень серьезное замедление примерно 5% кликов, сделанных с использованием интерфейса базы данных. Я имею в виду, что большинство кликов доставляют контент в течение одной-двух секунд, а иногда один из кликов загружается до одной минуты.

Что меня завораживает

Столкнувшись со всем этим, я проконсультировался с сетевыми специалистами, и, наконец, мы изменили наше сетевое оборудование, теперь мы используем межсетевой экран cisco asa-5505 и управляемый коммутатор cisco Catalyst.

К сожалению, то, что у меня не было жалоб, не означает, что этого не было, поскольку общение с пользователями в такие моменты несколько натянуто. Я бы сказал, что причиной является медленная сеть (каламбур).

когда нанятые нами специалисты пришли установить новые компоненты в сети, они выполнили некоторую настройку и мониторинг, и теперь наш пинг вернулся в норму, а ошибки потери пакетов случаются гораздо реже, до такой степени, что мы думаем, что это только обычный пакет потерян через интернет. Также из того, что мы видим (прошло всего несколько дней), гигантские загрузки прекратились.

но 5% кликов по-прежнему загружаются очень долго.

Я попробовал выполнить отладку с помощью вкладки net в firebug, чтобы узнать, какая часть сайта загружается медленно. Сам сервер отвечает в течение 200-800 мс, в зависимости от сложности страницы, что кажется нормальным. Большинство изображений загружаются нормально, библиотеки тоже, но когда происходит замедление, одно или несколько из этих изображений или библиотек будут ждать вечно перед загрузкой. это не всегда одна и та же библиотека или изображение

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

как я могу определить, что мешает загрузке определенного ресурса, будь то изображение или библиотека js?

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

Вам, вероятно, потребуется использовать nmap (или, например, wirehark) для проверки локальной сети, это может помочь вам найти компьютер с Windows, на котором есть вирус и который отправляет тысячи спам-запросов arp, или пользователя, использующего клиент bittorrent или что-то еще, что может насытить ваш локальная сеть или загрузка из Интернета

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

Таким образом, без фактического подключения к вашей сети (сетей) и подробного диагностирования с вами, ответ здесь, скорее всего, будет скорее «указать вам направление» и посмотреть, работает ли он.

Тем не менее, когда я имею дело с подобными вещами, я использую своего рода подход Оккама.

Вы заявили:

«веб-интерфейс не замедляется при доступе из-за пределов офиса. То есть он замедляется только при использовании за нашей локальной сетью».

Вот этот фрагмент, если он действительно точен.

Проблема ДОЛЖНА лежать где-то в этой «локальной сети». Это НЕ на внешнем сервере / приложении, иначе те же проблемы могут быть реплицированы из другого места.

Так где? Вы уже поменяли несколько сетевых устройств, но, похоже, безрезультатно.

Вот что я бы посоветовал вам сделать, что может показаться простым, но работать с самой дальней внешней точки вашей сети в обратном направлении:

  1. Возьмите ноутбук, который НИКОГДА не был в локальной сети, не является частью домена и т. Д., И подключите его непосредственно к провайдеру локальной сети. Непосредственно это ключ. Подключите ноутбук непосредственно к сети провайдера без брандмауэра или аналогичного устройства и посмотрите, какие ответы / производительность вы получите, и сравните их с вашей заведомо хорошей внешней настройкой, которая работает нормально.
  2. Если вы не видите проблем на шаге № 1, переместите переносной компьютер на один уровень назад, напрямую подключенный к межсетевому экрану ASA, а затем снова проверьте через межсетевой экран.
  3. Если на № 2 проблем нет, вернитесь на другой уровень, на этот раз за управляемым коммутатором.
  4. Если в №3 проблем нет, значит, это не проблема сети.

И так далее и тому подобное (пробуя клиента, у которого есть «проблемы» извне и т. Д.), Пока вы, по крайней мере, не сможете объективно сказать, в чем / где проблема возникает, даже если вы не знаете, почему или конкретно, что вызывает ее на конкретный «слой». Затем вы начинаете более глубокое погружение в этот конкретный «слой», если хотите.