SRV_ADMIN Telegram 4657
Для тестирования скорости загрузки сайта существует старый и известный в узких кругах инструмент WebPageTest. Упоминал уже не раз о нём, потому что регулярно пользуюсь, но отдаю себе отчёт, что он не очень популярен. На днях ставил себе с нуля свежую версию и потратил пол дня, пока всё запустил на своей виртуалке. Проект развивается в плане кодовой базы и возможностей, но конкретно Private Instances, которые можно развернуть у себя и использовать без ограничения, ставятся с костылями, так как для них не обновляют документацию и Docker файлы.

В очередной раз всё развернул и сразу зафиксирую, чтобы не забыть. Так как в прошлый раз решал ровно те же проблемы, но не записал сразу, потом забыл. Пришлось опять разбираться.

Проект состоит из серверной части и агентов, которые могут быть развёрнуты в разных локациях. Репозитории:

https://github.com/catchpoint/WebPageTest
https://github.com/catchpoint/WebPageTest.agent

В первом есть docker-compose.yml, который включает в себя php-бэкенд, веб-интерфейс и агент. Контейнеры собираются по месту из представленных докерфайлов в папке docker/local. Если взять этот проект и запустить, то не соберётся wptagent. В нём есть привязки к названию репозитория, где он раньше был, но имя репозитория поменяли, а тут ничего не поправили. Проще собрать агента отдельно, а тут исключить его из сборки. К тому же агент будет запускаться не только на этой машине, так что разнести их не только географически, но и логически - разумно.

Клонируем репозиторий сервера:

# git clone https://github.com/catchpoint/WebPageTest

В docker-compose.yml комментируем всё, что относится к agent. Это в самом конце секция, после web и php. Собранный веб сервер будет много всего писать в директорию www/ в разные вложенные папки. Для простоты назначим ей права 0777:

# chmod -R 0777 www/

После этого собираем. Можно не трогать настройки по умолчанию.

# docker compose up

После сборки запустится серверная часть на 80-м порту. Можно идти браузером по IP адресу сервера. Состояние сервера можно посмотреть так: http://10.20.1.21/install/ Там должно быть всё зелёное. И видно, что есть одна локация Test Locations и нет подключенного агента. Это настройка по умолчанию, она задаётся в файле docker/local/wptconfig/locations.ini. Там только один тестовый location с ключом доступа 123456789. Если будете строить распределённую сеть агентов, то нужно будет добавлять туда новые локации и подключать агентов в соответствии с названиями и ключами.

Идём на машину, где будет запускаться агент. Клонируем репозиторий:

# git clone https://github.com/catchpoint/WebPageTest.agent

В корне лежит Dockerfile. Откройте его и измените следующую строку:

RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \
  apt-get install nodejs npm -y

На

RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \
  apt-get install nodejs -y

Отдельно npm ставить не надо, он входит в состав nodejs. Сборка будет валиться с ошибкой, если это не исправить. Собираем агента. Я сразу указал ему часовой пояс. Можно и другие параметры задать:

# docker build --tag wptagent --build-arg TIMEZONE=MSK .

Если сборка прошла без ошибок, то можно запускать самого агента:

# modprobe ifb numifbs=1
# docker run -d -e SERVER_URL="http://10.20.1.21/work/" -e LOCATION="Test" -e NAME="Test" -e KEY="123456789" --cap-add=NET_ADMIN --init --name wptagent wptagent

10.20.1.21 - IP адрес сервера. Через пару минут по ссылке http://10.20.1.21/install/ вы должны увидеть, что агент подключился. В логе сервера это будет видно по запросам на /work/getwork.php от IP адреса агента.

Теперь можно выполнять тесты сайтов с помощью этого агента. Мне это нужно было, чтобы протестировать последние изменения в Angie. Авторы указали, что повысили стабильность работы с протоколом HTTP/3. Напомню, что когда я включил в Angie протокол HTTP/3, заметил, что параметр TTFB увеличился. В тестах это стабильно воспроизводилось.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#webpagetest



tgoop.com/srv_admin/4657
Create:
Last Update:

Для тестирования скорости загрузки сайта существует старый и известный в узких кругах инструмент WebPageTest. Упоминал уже не раз о нём, потому что регулярно пользуюсь, но отдаю себе отчёт, что он не очень популярен. На днях ставил себе с нуля свежую версию и потратил пол дня, пока всё запустил на своей виртуалке. Проект развивается в плане кодовой базы и возможностей, но конкретно Private Instances, которые можно развернуть у себя и использовать без ограничения, ставятся с костылями, так как для них не обновляют документацию и Docker файлы.

В очередной раз всё развернул и сразу зафиксирую, чтобы не забыть. Так как в прошлый раз решал ровно те же проблемы, но не записал сразу, потом забыл. Пришлось опять разбираться.

Проект состоит из серверной части и агентов, которые могут быть развёрнуты в разных локациях. Репозитории:

https://github.com/catchpoint/WebPageTest
https://github.com/catchpoint/WebPageTest.agent

В первом есть docker-compose.yml, который включает в себя php-бэкенд, веб-интерфейс и агент. Контейнеры собираются по месту из представленных докерфайлов в папке docker/local. Если взять этот проект и запустить, то не соберётся wptagent. В нём есть привязки к названию репозитория, где он раньше был, но имя репозитория поменяли, а тут ничего не поправили. Проще собрать агента отдельно, а тут исключить его из сборки. К тому же агент будет запускаться не только на этой машине, так что разнести их не только географически, но и логически - разумно.

Клонируем репозиторий сервера:

# git clone https://github.com/catchpoint/WebPageTest

В docker-compose.yml комментируем всё, что относится к agent. Это в самом конце секция, после web и php. Собранный веб сервер будет много всего писать в директорию www/ в разные вложенные папки. Для простоты назначим ей права 0777:

# chmod -R 0777 www/

После этого собираем. Можно не трогать настройки по умолчанию.

# docker compose up

После сборки запустится серверная часть на 80-м порту. Можно идти браузером по IP адресу сервера. Состояние сервера можно посмотреть так: http://10.20.1.21/install/ Там должно быть всё зелёное. И видно, что есть одна локация Test Locations и нет подключенного агента. Это настройка по умолчанию, она задаётся в файле docker/local/wptconfig/locations.ini. Там только один тестовый location с ключом доступа 123456789. Если будете строить распределённую сеть агентов, то нужно будет добавлять туда новые локации и подключать агентов в соответствии с названиями и ключами.

Идём на машину, где будет запускаться агент. Клонируем репозиторий:

# git clone https://github.com/catchpoint/WebPageTest.agent

В корне лежит Dockerfile. Откройте его и измените следующую строку:

RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \
  apt-get install nodejs npm -y

На

RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \
  apt-get install nodejs -y

Отдельно npm ставить не надо, он входит в состав nodejs. Сборка будет валиться с ошибкой, если это не исправить. Собираем агента. Я сразу указал ему часовой пояс. Можно и другие параметры задать:

# docker build --tag wptagent --build-arg TIMEZONE=MSK .

Если сборка прошла без ошибок, то можно запускать самого агента:

# modprobe ifb numifbs=1
# docker run -d -e SERVER_URL="http://10.20.1.21/work/" -e LOCATION="Test" -e NAME="Test" -e KEY="123456789" --cap-add=NET_ADMIN --init --name wptagent wptagent

10.20.1.21 - IP адрес сервера. Через пару минут по ссылке http://10.20.1.21/install/ вы должны увидеть, что агент подключился. В логе сервера это будет видно по запросам на /work/getwork.php от IP адреса агента.

Теперь можно выполнять тесты сайтов с помощью этого агента. Мне это нужно было, чтобы протестировать последние изменения в Angie. Авторы указали, что повысили стабильность работы с протоколом HTTP/3. Напомню, что когда я включил в Angie протокол HTTP/3, заметил, что параметр TTFB увеличился. В тестах это стабильно воспроизводилось.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#webpagetest

BY ServerAdmin.ru






Share with your friend now:
tgoop.com/srv_admin/4657

View MORE
Open in Telegram


Telegram News

Date: |

The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. Hui said the messages, which included urging the disruption of airport operations, were attempts to incite followers to make use of poisonous, corrosive or flammable substances to vandalize police vehicles, and also called on others to make weapons to harm police. Administrators There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. Step-by-step tutorial on desktop:
from us


Telegram ServerAdmin.ru
FROM American