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