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 вашим сервисам и желаю вам поменьше инцедентов!

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

Почти 90% биомедицинских статей несут следы языковых моделей

1 час назад

Почти 90% биомедицинских статей несут следы языковых моделей

Препринт, выложенный на arXiv 12 августа, оценивает долю текстов с признаками правки или написания через LLM в открытом архиве PubMed Central. Для статей, вышедших в декабре 2025 года, оценка — прибли

Утвержден перечень предустановленного ПО на 2027 год: Алиса AI вместо Маруси и 24ТВ вместо БилайнТВ

1 час назад

Утвержден перечень предустановленного ПО на 2027 год: Алиса AI вместо Маруси и 24ТВ вместо БилайнТВ

Правительство утвердило свежий перечень российского ПО, обязательного для предустановки на смартфоны, планшеты, компьютеры и телевизоры со Smart TV. Это распоряжение от 27 июля 2026 года № 1977-р, оно

Total War: ROME II распродается в Steam со скидкой 80%

1 час назад

Total War: ROME II распродается в Steam со скидкой 80%

Одна из лучших стратегий серии от Creative Assembly будет доступна по спецпредложению в Steam вплоть до 27 августа. Ознакомиться полную новость

ЦБ планирует ввести функция оплаты цифровыми рублями без интернета

1 час назад

ЦБ планирует ввести функция оплаты цифровыми рублями без интернета

Банк России планирует предоставить россиянам функция совершать платежи цифровыми рублями даже при отсутствии интернет‑соединения. Об этом сообщила директор департамента национальной платёжной системы

Япония пыталась создать операционную систему для всего мира, но затем вмешалось правительство США

2 часа назад

Япония пыталась создать операционную систему для всего мира, но затем вмешалось правительство США

В 1984 году исследователь Токийского университета Кен Сакамура запустил инициатива TRON (The Real‑time Operating system Nucleus) — инициативу по созданию семейства операционных систем реального времен