Как подсчитать количество соединений, необходимых для загрузки веб-страницы?

  • Автор темы serafimus
  • 77
  • Обновлено
  • 13, May 2024
  • #1
Привет,

У меня есть веб-сервер с большим количеством веб-сайтов, и я ищу совета, как узнать, сколько соединений HTTP/порта 80 будет установлено от клиента к веб-серверу для загрузки одной средней веб-страницы.

Мой CSF брандмауэра должен это знать

1) CONNLIMIT (ограничение одновременных подключений)

Я предполагаю, что это будет менее 100 подключений на один IP-адрес на 80-порт.

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

Я использую браузер Firefox, в котором есть инструмент Dev с вкладкой «Сеть», показывающей загруженные элементы.

Он показывает 10 запросов, и 9 из них — GET при загрузке google.com.

Означает ли это, что загрузка страницы Google съедает 10 http-соединений? 2) PORTFLOOD (лимит подключений за интервал) Я предполагаю, что в течение 60-секундного интервала человек будет просматривать максимальную скорость загрузки 1 страницы в 5 секунд.

Итак, это 12 загрузок страниц.

Но сколько соединений занимает одна нагрузка.

Как подсчитать его именно для конкретной веб-страницы? Спасибо

serafimus


Рег
14 Jun, 2015

Тем
1

Постов
3

Баллов
13
  • 07, Jun 2024
  • #2
Я бы проверил это двумя разными способами. 1. Вы открываете Chrome/Firefox/Safari/любой браузер, который используете, открываете вкладку «Сеть» и загружаете свой сайт.

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

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

Если вы не хотите проводить большой анализ, вы можете использовать любой инструмент анализа access_log (у меня нет большого опыта в этом, я бы погуглил).
Будь осторожен со штрафами, которые вы налагаете на клиентов, превышающих лимит подключений в одну минуту. Возможно, поведение вашего сайта не на 100% идеально, пользователь попадает в ситуацию зацикливания запроса, и это заставляет брандмауэр активировать защиту. Надеюсь, поможет!
 

VIP2


Рег
01 Jan, 2011

Тем
0

Постов
2

Баллов
2
  • 08, Jun 2024
  • #3
Что касается PORTFLOOD, эта опция ограничивает количество # новых подключений за интервал времени, которые могут быть установлены к определенным портам.

Когда я разрешаю максимум 40 подключений за 5 секунд:

80;TCP;40;5

у меня НЕ наблюдается ни одной блокировки CSF в lfd.log, связанной с перегрузкой портов за последние X дней

Да, когда я открываю сетевой монитор (вкладка) в Firefox и перезагружаю самую большую веб-страницу, которую я размещаю и о которой знаю (относительно количества элементов), я получаю 112 запросов, 4,9 МБ и загрузку около 10 секунд.

И меня не блокируют и не игнорируют (нет записи в журнале), несмотря на настройку PORTFLOOD:

cat /var/log/lfd.log|grep "30 апреля 11:"

Что касается CONNLIMIT (ограничение одновременных подключений), я установил 90 одновременных подключений к порту 80:

80;90

как бы вы объяснили, что брандмауэр не срабатывает при открытии страницы со 112 запросами? Я полагаю, это потому, что это не одновременно?

В моем Firefox я вижу переменную «network.http.max-connections», и она установлена по умолчанию, 256, что кажется удивительно высоким.

Но я использую прокси-сервер SOCKSv5, поэтому, вероятно, применяется «network.http.max-persistent-connections-per-proxy», который равен 32. «network.http.max-persistent-connections-per-server» равен 6. У меня на моем веб-сервере и 6s включен постоянный режим/поддержание активности.

Таймаут поддержания активности, максимум 100 запросов поддержания активности.

LFD обычно сообщает, когда какой-то IP-адрес игнорируется (IP-адрес внесен в белый список или что-то в этом роде) или когда он заблокирован, но это НЕ так.

Итак, мои вопросы в моем первоначальном посте остаются такими: «Как точно посчитать это для конкретной веб-страницы?» для PORTFLOOD и CONNLIMIT, в то время как моя, надеюсь, самая большая веб-страница съедает 112 запросов?

-----------

Анализируя файл access_log, я обнаружил 104 сделанных мною подключения, а также время их выполнения: http://pastebin.com/ycn3m1si

Я вижу, это было как Макс. 18 соединений в секунду, не уверен, считаются ли они «одновременными»
 

Westergraf


Рег
03 Jan, 2012

Тем
2

Постов
8

Баллов
28
  • 10, Jun 2024
  • #4
Кроме того, в зависимости от того, что обслуживается, ограничение на загрузку 12 страниц кажется произвольным и очень низким.

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

.
 

transwm


Рег
05 Dec, 2012

Тем
2

Постов
3

Баллов
23