
Мы только что начали использовать больше javascript в веб-интерфейсе внутреннего приложения (php, если это имеет значение). Теперь, когда изменения произошли, становится совершенно очевидно, что чем больше javascript на странице, тем медленнее она загружается через squid.
Есть предложения, почему это происходит? Я не хочу, чтобы вопрос был слишком расплывчатым, но я не хочу предлагать что-то, когда я не знаю, что ищу.
Мне пришла в голову одна мысль: что если страницы без javascript не кэшируются, а наш сервер squid втайне медленный? Как мне это проверить?
Пожалуйста, просветите меня!
Обновление 1Весь javascript кэшируется и извлекается с прокси-сервера. Самый большой кусок данных (~60k) — это сгенерированный html, и это каждый раз промах.
Обновление 2Ajax отсутствует, javascript ограничен плавающей панелью инструментов и обрабатывает некоторый предварительный анализ текста для функции поиска, его простое правило основано на "Если в нем x символов, ищите соответствующий номер заказа".
При более внимательном рассмотрении весь кэшированный javascript проверяется на предмет его новейшей версии перед отправкой. TCP_REFRESH_HIT/304
У меня есть ощущение, что это может быть моим узким местом.
решение1
Проверьте журнал доступа squid и найдите TCP_HIT. Это скажет вам, какие страницы доставляются из кэша, а какие пересылаются.
решение2
С точки зрения клиента вы не можете быть абсолютно уверены, что подключаетесь через squid. У вас может присутствовать заголовок X-Forwarded-For.
Также попробуйте зайти на сайт напрямую. Он быстрый, или это просто ваш браузер медленный из-за всего этого JavaScript?
решение3
Что именно вы подразумеваете под "начали использовать больше javascript"? Если вы используете AJAX с многочисленными одновременными вызовами/извлечениями, то вы можете достичь предела для одновременных клиентских подключений.