Files
fission-console/doc/bench-results-s3-2026-05-20.md
T
“Naeel” 296b538d20 bench: S3 results 2026-05-20 PASS=20/20 + PV vs S3 comparison
RUNID=9251970 (S3 ngcloud msk-1):
- PASS=20/20 — все тесты прошли
- Upload: мелкие файлы медленнее (+1-3s), крупные — сопоставимо
- Cold start: S3 ≈ PV (python быстрее, ruby small медленнее, PHP одинаково)
- Hot avg: практически идентично на обоих бэкендах

ruby/medium cold=80568ms — аномалия воспроизвелась 4-й раз подряд на S3.
Подтверждено: не связана с типом хранилища, это поведение poolmgr.

Вердикт: S3 == PV по производительности. S3 предпочтительнее.
2026-05-20 08:45:40 +04:00

5.6 KiB
Raw Blame History

Bench Results — S3 Storage (ngcloud msk-1) — 2026-05-20

RUNID: 9251970
Дата: Wed May 20 07:39:30–07:43:27 MSK 2026
Storage: S3 (sless-functions, s3.msk-1.ngcloud.ru, region msk-1)
API: https://fission.kube5s.ru/console/api
SUB: bench@bench.local
Итог: PASS=20 FAIL=0 TOTAL=20

Таблица результатов S3

LANG SIZE UPLOAD(ms) COLD(ms) HOT_AVG(ms) STATUS
python tiny 3115 2453 621 OK
python small 1360 889 481 OK
python medium 1370 982 446 OK
python large 2561 1471 1157 OK
nodejs tiny 3348 8347 1210 OK
nodejs small 2907 1528 1270 OK
nodejs medium 2949 1576 1187 OK
nodejs large 2747 2705 1146 OK
ruby tiny 3145 2164 1190 OK
ruby small 2959 1886 1151 OK
ruby medium 2756 80568 120 OK (аномалия, 4-й прогон подряд)
ruby large 1386 1652 1168 OK
php tiny 3158 1845 1156 OK
php small 2751 1565 1218 OK
php medium 2676 1516 1143 OK
php large 3146 1581 1190 OK
python archive 2752 1463 1160 OK
nodejs archive 3191 1832 1166 OK
ruby archive 2771 1454 1297 OK
php archive 2768 1589 1188 OK

Лог на VM: /home/naeel/terra/fission/test-results/bench-func/bench_full_2026-05-20_07-39-30.log

Сравнение PV vs S3

PV RUNID=9250986 (2026-05-20 07:23) vs S3 RUNID=9251970 (2026-05-20 07:39).

LANG SIZE UPLOAD PV UPLOAD S3 COLD PV COLD S3 HOT PV HOT S3
python tiny 308 3115 4384 2453 771 621
python small 161 1360 1947 889 1860 481
python medium 2751 1370 1387 982 1183 446
python large 2764 2561 1382 1471 1184 1157
nodejs tiny 3150 3348 8011 8347 1175 1210
nodejs small 2764 2907 1526 1528 1198 1270
nodejs medium 2745 2949 2597 1576 1185 1187
nodejs large 2737 2747 2603 2705 1314 1146
ruby tiny 3148 3145 2105 2164 1209 1190
ruby small 2768 2959 1339 1886 1194 1151
ruby medium 2759 2756 81549 80568 1183 120
ruby large 2743 1386 1390 1652 787 1168
php tiny 1547 3158 2546 1845 94 1156
php small 904 2751 1106 1565 1213 1218
php medium 2744 2676 1571 1516 1198 1143
php large 2732 3146 1508 1581 1314 1190
python archive 2759 2752 1392 1463 1178 1160
nodejs archive 3177 3191 1545 1832 1197 1166
ruby archive 2780 2771 1376 1454 1297 1297
php archive 2785 2768 1416 1589 1172 1188

Выводы

Upload (загрузка архива в storagesvc)

  • Мелкие файлы (tiny/small): S3 медленнее — python/tiny: 308→3115ms (+2807ms), python/small: 161→1360ms (+1199ms)
  • Средние/крупные файлы: сопоставимо (±200ms)
  • Причина: HTTP round-trip до S3 ngcloud vs локальный PVC (vcd-disk-ext4 тоже сетевой, но внутри кластера)

Cold start (первый invoke)

  • Python: S3 быстрее — small: 1947→889ms, medium: 1387→982ms
  • Nodejs medium: S3 быстрее — 2597→1576ms
  • PHP: сопоставимо (±50ms)
  • Ruby small: S3 медленнее — 1339→1886ms
  • Итог: cold start на S3 ≈ на PV, разброс в пределах погрешности кластера

Hot avg (последующие invoke)

  • Практически одинаково на обоих бэкендах (±100ms)
  • Фетчер кэширует архив в pod — хранилище не влияет на hot path

ruby/medium аномалия

  • PV: 81549ms → S3: 80568ms — воспроизводится 4-й раз подряд на разных бэкендах
  • Подтверждает: аномалия не связана с типом хранилища, это поведение executor/poolmgr

Вердикт

S3 и PV практически эквивалентны по производительности при нагрузке нашего масштаба.
Upload мелких файлов чуть медленнее на S3, cold start — сопоставим.
S3 предпочтительнее из-за простоты операций (нет PVC, нет проблем с PV provisioner).