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

3 мин
Perfscale news #7. Fix Import, SOAP, and more HTTP metrics

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

  • Новости 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 OSS (open source software)

Теперь версии 0.11.0. Github release.

Import

В прошлом релизе я делал поддержку import. Но во-первых, в выпуск он не вошел. А во-вторых я немного поменял кеширование. Теперь оно должно быть коррекнтным, а то иногда не показывался

HTTP Metrics

Теперь в HTTP шагах еще больше метрик можно отслеживать: timed_exchange, request_line, transport_error и error_chain. Это нужно для следующей фичи — SOAP.

Perfscale Platform

SOAP

В рамках новой нишевой фичи я решил, что нагрузочное тестирование SOAP протокола самое то поместить в платную версию.

Вот пример простого теста

steps: - name: add two numbers uses: pro/soap@v1 with: url: dneonline.com/calculator.asmx soap_action: "tempuri.org/Add" payload: | <Add xmlns="tempuri.org"> <intA>2</intA> <intB>2</intB> </Add> check: status: 200 body_contains: "<AddResult>4</AddResult>"

Не забыл и про Configuration:

# config.yaml
vus: 50
duration: 5m
before: - uses: pro/soap-config@v1 with: { wsdl_url: dneonline.com/calculator.asmx?WSDL } outputs: calc

А проверка соотвественно выглядит как-то так

# test.yaml — endpoint/version/soapAction are inherited from the profile
steps: - uses: pro/soap@v1 with: connection: "${{ config.calc }}" operation: Add payload: | <Add xmlns="tempuri.org"><intA>2</intA><intB>2</intB></Add>

метрики, которые пишет SOAP

  • soap_requests

  • soap_faults

  • soap_errors

  • http_req_duration

Пару слов о faults и errors:

В обычном HTTP-запросе 200 OK считается успешным — для SOAP это не так: серверы отправляют <Fault> как с 200, так и с 500. pro/soap@v1 всегда анализирует тело ответа:

2xx без Fault → шаг выполнен успешно;

любой статус с Fault → шаг не выполнен; извлекаются fault.code/fault.string (faultcode/faultstring для версии 1.1, Code/Value + Reason/Text для версии 1.2) и попадают в вывод и строку лога;

не-2xxбез Fault → обычная ошибка (метрика soap_errors).

Не обошлось и без ограничений

  • Генерация оболочек из XSD невозможна — payload нужно писать самостоятельно. Это не критично, если вы знаете, что писать. Но хочется в будущем, чтобы XSD генерился для автодополнения в редакторе.

  • WS-Security (подпись, шифрование) не поддерживается. Возможно, пока что. Этот момент еще расследуется.

  • MTOM/вложения — вне области применения. Пока не знаю как это сделать нормально. Если вы специалист — напишите мне и мы разберем ваши случаи нагрузки

И да: есть сопровождение версии SOAP 1.1 и 1.2. На 1.0 не проверял. Кстати, у автора мало знаний и работы с SOAP. Всегда рад обратной связи!

Linked Accounts

Кратко — все еще не работают. С авторизацией я работал мало, поэтому я тут новичок. Прошу понять и простить и подождать еще.


А на сегодня все! Zero-downtime вашим сервисам и желаю вам поменьше инцедентов!

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

Google выпустила Gemini 3.8 Flash и закрытую версию для кибербезопасности

17 минут назад

Google выпустила Gemini 3.8 Flash и закрытую версию для кибербезопасности

Google представила Gemini 3.8 Flash — новую основную модель Flash-линейки, вышедшую всего через три недели после Gemini 3.7 Flash. Модель получила заметный прирост в программировании, агентных задачах

Астрономы обнаружили маленькие красные точки, готовящиеся к слиянию

47 минут назад

Астрономы обнаружили маленькие красные точки, готовящиеся к слиянию

Существует мнение, что в крупных галактиках современной Вселенной находятся сверхмассивные чёрные дыры (СМЧД). Тем не менее точно неизвестно, как именно эти чёрные дыры стали столь массивными, хотя ас

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

2 часа назад

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

1 сентября 2026 года состоялся выпуск альфа-версии графического редактора с открытым исходным кодом Paint.NET 5.2 для Windows 10/11 (64-бита) и с экспериментальной поддержкой Wine/Linux (Wine 11.14, U

2 часа назад

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО»

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО» Организация «Базальт СПО» запускает специальное предложение для школ: операционная система «Альт Образование» 11 п

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

2 часа назад

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

Google запустила агентный анализ видео для Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite. Теперь модель анализирует видео не как последовательность кадров с фиксированной частотой, а сама решает, какие