Perfscale news #9. GPU, LLM, Docker images

4 мин
Perfscale news #9. GPU, LLM, Docker images

Приветствую, любители нагрузки. Для истории прошлые выпуски:

  • Новости Perfscale № 1

  • Perfscale news #2: Fix Protocol, Magic metrics и MCP

  • perfscale news #3 Websocket, Inference, NPM

  • Perfscale news #4. GRPC, Fixed Triggers, Child Process

  • Perfscale news #5. SQL, Thresholds, неработающие Linked Accounts

  • Perfscale news #6. GraphQL, поддержка Import, и метрики

  • Perfscale news #7. Fix Import, SOAP, and more HTTP metrics

  • Perfscale news #8. WS Benchmark, Jmeter open sourced & fixed linked accounts

Итак,‏ ‎что ‎было‏ ‎сделано

в ‎OSS

теперь‏ ‎последняя ‎версия:‏ ‎0.17.‏ ‎И ‎вот‏ ‎что ‎нового ‎произошло ‎за ‎это‏ ‎время

GPU ‎testing

Итак,‏ ‎для‏ ‎того, ‎чтобы ‎включить ‎GPU ‎тестирование, ‎достаточно ‎написать ‎в‏ ‎config ‎следующее

vus: 10
duration: 5m
gpu: enabled: true interval_ms: 1000 # default 1000 (min 10) source: nvidia-smi # nvidia-smi (default) | dcgm dcgm_url: 127.0.0.1:9400/metrics # for source: dcgm devices: [0, 1] # optional; default— every GPU the source reports

Тут ‎важно ‎сделать ‎следующие‏ ‎отступления:‏ ‎

Во-первых, ‎не‏ ‎придумано ‎ничего ‎лучше,‏ ‎чем ‎использовать‏ ‎фреимворк ‎NVIDIA‏ ‎Data‏ ‎Center‏ ‎GPU ‎Manager‏ ‎(DCGM) ‎—‏ ‎это ‎инициатива‏ ‎по ‎сбору ‎телеметрии‏ ‎и‏ ‎измерению‏ ‎состояния ‎графических‏ ‎процессоров ‎NVIDIA.

Во-вторых,‏ ‎кроме ‎ноутбука‏ ‎с‏ ‎NVIDIA ‎у‏ ‎меня ‎нет. ‎А ‎на ‎Apple‏ ‎Metal ‎никто‏ ‎не‏ ‎запускает ‎нагрузку, ‎да ‎и ‎драйверы ‎закрытые(есть ‎только ‎powerline,‏ ‎но ‎это‏ ‎детский‏ ‎сад), ‎следовательно ‎тут‏ ‎было ‎принято‏ ‎волевое ‎решение ‎с ‎пропуском‏ ‎AMD‏ ‎и ‎Apple ‎сознательно. ‎Но,‏ ‎если ‎у‏ ‎вас ‎есть‏ ‎вариант,‏ ‎где ‎можно‏ ‎запустить ‎подход, ‎кроме ‎персонального ‎комьютера‏ ‎— ‎то‏ ‎свяжитесь‏ ‎со ‎мной ‎(TG: ‎vitalicset)

В-третьих,‏ ‎уже ‎сами‏ ‎настройки:

  • interval ‎— ‎это ‎то,‏ ‎с‏ ‎какой ‎периодичностью‏ ‎опрашивается ‎DCGM

  • source ‎—‏ ‎это ‎ресурс‏ ‎сбора ‎метрик.‏ ‎По‏ ‎умолчанию‏ ‎опрашивается ‎драйвер‏ ‎smi(по ‎сути‏ ‎встроенный ‎мониторинг)‏ ‎и ‎DCGM ‎(внешний‏ ‎мониторинг,‏ ‎где‏ ‎у ‎нас‏ ‎есть ‎координатор.‏ ‎Можно ‎сказать,‏ ‎что‏ ‎это ‎типа‏ ‎Prometheus ‎но ‎для ‎видеоадаптеров)

  • devices: ‎если‏ ‎у ‎вас‏ ‎персональный‏ ‎комьютер ‎то ‎не ‎используйте ‎эту ‎настройку. ‎либо ‎задайте‏ ‎0, ‎поскольку‏ ‎у‏ ‎вас ‎1 ‎Nvidia‏ ‎девайс. ‎

Я‏ ‎вот ‎здумался, ‎что ‎есть‏ ‎K8S‏ ‎для ‎GPU, ‎когда ‎хранилище‏ ‎видеокарты ‎может‏ ‎поделится ‎на‏ ‎кратность‏ ‎8(если ‎мне‏ ‎не ‎изменяет ‎хранилище) ‎и ‎у‏ ‎нас ‎будет‏ ‎типа‏ ‎параллелизма ‎вычеслений ‎задач. ‎Такой‏ ‎скрипт ‎не‏ ‎тестировался, ‎поскольку ‎мои ‎мощности‏ ‎ограничены.

Где‏ ‎стоит ‎применять‏ ‎нагрузочное ‎тестирование ‎GPU

  • рендеринг‏ ‎сцен ‎в‏ ‎софте ‎(в частности‏ ‎в‏ ‎промышленных‏ ‎рендерах ‎и‏ ‎играх)

  • LLM

Других ‎я‏ ‎use-case ‎не‏ ‎придумал. ‎Вообще ‎все‏ ‎затевалось‏ ‎вокруг‏ ‎LLM, ‎поэтому‏ ‎переходим ‎туда‏ ‎сразу

LLM ‎testing

То,‏ ‎ради‏ ‎чего ‎вводился‏ ‎GPU ‎модуль ‎— ‎это ‎Magnum‏ ‎Opus ‎[прим.‏ ‎Magnum‏ ‎Opus ‎— ‎самое ‎главное], ‎то, ‎зачем ‎создавался ‎компонент‏ ‎по ‎тестированию‏ ‎GPU‏ ‎и ‎данной ‎статьи.‏ ‎Вдруг ‎у‏ ‎вас ‎(как ‎и ‎у‏ ‎меня)‏ ‎или ‎в ‎кампании ‎запущенна‏ ‎LLM ‎и‏ ‎вам ‎бы‏ ‎не‏ ‎мешало ‎бы‏ ‎протестировать ‎ее ‎возможности ‎и ‎собрать‏ ‎метрики. ‎

Вот‏ ‎пример‏ ‎такого ‎конфига

# config.yaml
vus: 8
duration: 2m
gpu: enabled: true

И‏ ‎самого‏ ‎теста ‎(на‏ ‎примере ‎развернутой ‎ollama)

steps: - name: chat completion use: std/llm@v1 with: url: 127.0.0.1:11434/v1/chat/completions model: llama3.1 prompt: "Summarize the CAP theorem in two sentences." max_tokens: 256 check: status: 200

И‏ ‎вот ‎вы‏ ‎запустили ‎ваш ‎тест ‎через ‎команду‏ ‎с ‎--summary-export

perfscale run -f test.yaml -c config.yaml --summary-export gpu-run.json

и ‎получили‏ ‎к ‎примеру‏ ‎такой‏ ‎итог

{ "gpu": { "source": "nvidia-smi", "interval_ms": 1000, "devices": [ { "index": 0, "samples": [ { "ts_ms": 1720000000000, "index": 0, "utilization_pct": 64.0, "memory_used_mib": 41088.0, "memory_total_mib": 81559.0, "temperature_c": 71.0, "power_w": 512.3 } ], "avg_utilization_pct": 64.3, "max_utilization_pct": 100.0, "max_memory_used_mib": 41088.0, "memory_total_mib": 81559.0, "max_temperature_c": 71.0, "max_power_w": 512.3 } ] }
}

Кстати,‏ ‎без ‎summary-export‏ ‎вы‏ ‎получите‏ ‎что-то ‎такое

gpu: 1 device, 300 samples every 1000ms (nvidia-smi)
gpu0: util avg=64.3% max=100.0% vram max=41088/81559MiB temp max=71.0C power max=512.3W

Далее‏ ‎вы ‎же ‎хотите ‎его ‎отобразить‏ ‎можете ‎этот‏ ‎JSON‏ ‎перекладывать ‎как ‎угодно, ‎но ‎видно, ‎что ‎идет ‎именно‏ ‎сборка ‎семплов‏ ‎прямо‏ ‎во ‎время ‎выполнения!

Docker‏ ‎Images

Теперь ‎в‏ ‎perfscale ‎OSS ‎

github.com/Perfscale/perfscale/pkgs/container/perfscale

У ‎нас‏ ‎принято‏ ‎публиковать ‎пакеты ‎со ‎следующими‏ ‎названиями ‎и‏ ‎доступно ‎под‏ ‎названием‏ ‎ghcr.io/perfscale/perfscale

• :0.17.0 — perfscale ‎(49MB)‏ ‎— ‎только ‎YAML ‎движок

    • :0.17.0-k6 ‎—‏ ‎+ ‎k6‏ ‎v2.2.0‏ ‎(139MB)

    • :0.17.0-jmeter ‎— ‎+ ‎JMeter‏ ‎5.6.3 ‎(539MB)

    • :0.17.0-locust‏ ‎— ‎+ ‎locust ‎2.46.4‏ ‎(227MB)

• :0.17.0-full‏ ‎— ‎всё‏ ‎вместе ‎(806MB)

Несложно ‎догадаться,‏ ‎что ‎оптимальным‏ ‎вариантом ‎будет‏ ‎использование‏ ‎именно‏ ‎perfscale ‎(условно‏ ‎slim), ‎поскольку‏ ‎это ‎небольшой‏ ‎размер ‎и ‎простота‏ ‎использования,‏ ‎но‏ ‎для ‎простоты‏ ‎перезда ‎можете‏ ‎использовать ‎full,‏ ‎если‏ ‎не ‎знаете‏ ‎что ‎выбрать. ‎Да, ‎GPU ‎работает‏ ‎в ‎slim‏ ‎версии.

А‏ ‎есть ‎ли ‎latest ‎тег? ‎Да, ‎есть. ‎Автоматом ‎он‏ ‎собирается ‎для‏ ‎каждой‏ ‎релизной ‎версии ‎perfscale.‏ ‎Но ‎я‏ ‎знаю, ‎что ‎многие ‎из‏ ‎devops‏ ‎не ‎любят ‎latest ‎тег,‏ ‎поскольку ‎он‏ ‎часто ‎кешируется.‏ ‎Следовательно‏ ‎я ‎тут‏ ‎аккуратно ‎скажу ‎что ‎он ‎есть,‏ ‎но ‎и‏ ‎как-бы‏ ‎не ‎упоминал, ‎только ‎если‏ ‎дочитали ‎до‏ ‎сюда. ‎

В ‎Controlplane

изменений ‎не‏ ‎много,‏ ‎которые ‎можно‏ ‎подсветить. ‎Поэтому ‎считайте,‏ ‎что ‎их‏ ‎нет.

P. ‎S.‏ ‎предвосхищая‏ ‎ваши‏ ‎вопросы, ‎а‏ ‎что ‎по‏ ‎поводу ‎perfscaled‏ ‎агента, ‎который ‎ставится‏ ‎на‏ ‎машину.‏ ‎Пока ‎что‏ ‎без ‎изменений‏ ‎(зато ‎в‏ ‎следующем‏ ‎выпуске ‎будет‏ ‎много ‎чего). ‎А ‎еще ‎работаю‏ ‎над ‎тем,‏ ‎чтобы‏ ‎можно ‎было ‎инсталлировать ‎perfscaled ‎через ‎лицензию. ‎Данный ‎режим‏ ‎еще ‎прорабатывается.‏ ‎Пока‏ ‎хватает ‎дел ‎с‏ ‎ним ‎и‏ ‎последними ‎изменениями!

А ‎на ‎сегодня‏ ‎все.‏ ‎Желаю ‎вам ‎хорошей ‎доступности‏ ‎сервисов ‎и‏ ‎отличных ‎выходных.‏ ‎Ваш‏ ‎покорный ‎слуга‏ ‎готовится ‎к ‎выступлению ‎на ‎Moscow‏ ‎QA, ‎который‏ ‎состоится‏ ‎5 ‎сентября. ‎До ‎встречи‏ ‎в ‎будущем!

Читают сейчас

GPT-6 Astra: OpenAI хочет превратить ИИ из помощника в исполнителя задач

2 часа назад

GPT-6 Astra: OpenAI хочет превратить ИИ из помощника в исполнителя задач

OpenAI представила GPT-6 Astra – новую версию модели, в которой основной акцент сделан на выполнении сложных задач. В компании говорят о развитии возможностей работы с компьютером, программировании и

Google дал издателям кнопку «любимый ресурс»

2 часа назад

Google дал издателям кнопку «любимый ресурс»

Google запустил средство, который вроде бы должен помочь издателям отбить посещаемость, потерянный из‑за ИИ‑ответов в поиске. Называется Preferred Sources: издатель встраивает к себе кнопку, читатель

Cohere выпустила Parse 5: схема извлекает информация из сложных документов в Markdown

2 часа назад

Cohere выпустила Parse 5: схема извлекает информация из сложных документов в Markdown

Организация Cohere выпустила коммерческую мультимодальную модель Parse 5 (parse-v5.0), которая помогает разработчикам извлекать структурированные данные из сложных корпоративных документов. Модель сод

Lexar представила внешний SSD толщиной 3,8 мм; ради этого пришлось отказаться от порта USB‑C

2 часа назад

Lexar представила внешний SSD толщиной 3,8 мм; ради этого пришлось отказаться от порта USB‑C

Lexar на выставке IFA 2026 представила внешний накопитель Muse. Организация называет его самым тонким портативным SSD в мире: толщина корпуса в центральной части составляет всего 3,8 мм, а возле краёв

«Первые в космосе»: ПСБ отправил банковские карты на орбиту

3 часа назад

«Первые в космосе»: ПСБ отправил банковские карты на орбиту

В июле ПСБ реализовал необычный проект, объединяющий банковские технологии и российскую космонавтику. Вместе с экипажем космической экспедиции на орбиту отправили зарплатные банковские карты ПСБ. Стар