test: уменьшаю нагрузку для SSH-стабильности (10msg/worker, 30/tenant, longpoll 20s)
This commit is contained in:
+11
-11
@@ -33,7 +33,7 @@ POD_LABEL="app.kubernetes.io/name=shared-sqs"
|
|||||||
|
|
||||||
# Параметры нагрузки — ЖЁСТКИЕ
|
# Параметры нагрузки — ЖЁСТКИЕ
|
||||||
CONCURRENT_WORKERS=20 # параллельных воркеров
|
CONCURRENT_WORKERS=20 # параллельных воркеров
|
||||||
MESSAGES_PER_WORKER=15 # сообщений на воркер (итого 1000)
|
MESSAGES_PER_WORKER=10 # сообщений на воркер (итого 1000)
|
||||||
BURST_SIZE=80 # размер burst-пакета
|
BURST_SIZE=80 # размер burst-пакета
|
||||||
TENANT_COUNT=5 # тенантов для multi-tenant теста
|
TENANT_COUNT=5 # тенантов для multi-tenant теста
|
||||||
QUEUE_FLOOD_COUNT=25 # очередей на тенанта
|
QUEUE_FLOOD_COUNT=25 # очередей на тенанта
|
||||||
@@ -353,7 +353,7 @@ echo ""
|
|||||||
# ═══════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════
|
||||||
# 4. MULTI-TENANT ИЗОЛЯЦИЯ — 5 тенантов × 50 msg одновременно
|
# 4. MULTI-TENANT ИЗОЛЯЦИЯ — 5 тенантов × 50 msg одновременно
|
||||||
# ═══════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════
|
||||||
MSGS_PER_TENANT=50
|
MSGS_PER_TENANT=30
|
||||||
echo "═══ 4. Multi-tenant изоляция: ${TENANT_COUNT} тенантов × ${MSGS_PER_TENANT} msg ═══"
|
echo "═══ 4. Multi-tenant изоляция: ${TENANT_COUNT} тенантов × ${MSGS_PER_TENANT} msg ═══"
|
||||||
SEC4_START=$(date +%s)
|
SEC4_START=$(date +%s)
|
||||||
|
|
||||||
@@ -470,7 +470,7 @@ LONGPOLL_QURL=$(qurl "$T1_ID" "$LONGPOLL_Q")
|
|||||||
|
|
||||||
# Consumer: читает с long-poll, считает сколько получит за 30s
|
# Consumer: читает с long-poll, считает сколько получит за 30s
|
||||||
(
|
(
|
||||||
end=$((SECONDS + 30))
|
end=$((SECONDS + 20))
|
||||||
total_recv=0
|
total_recv=0
|
||||||
while [[ $SECONDS -lt $end ]]; do
|
while [[ $SECONDS -lt $end ]]; do
|
||||||
R=$(sqs "$T1_AK" "$T1_SK" receive-message --queue-url "$LONGPOLL_QURL" \
|
R=$(sqs "$T1_AK" "$T1_SK" receive-message --queue-url "$LONGPOLL_QURL" \
|
||||||
@@ -497,7 +497,7 @@ for p in $(seq 1 5); do
|
|||||||
printf "[LP-prod${p}:${ok}] " >&2
|
printf "[LP-prod${p}:${ok}] " >&2
|
||||||
) &
|
) &
|
||||||
done
|
done
|
||||||
echo " ⏳ Long-poll: consumer ждёт, producers отправляют (30s)..."
|
echo " ⏳ Long-poll: consumer ждёт, producers отправляют (20s)..."
|
||||||
wait
|
wait
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
@@ -793,16 +793,16 @@ R=$(sqs "$T1_AK" "$T1_SK" create-queue --queue-name "$MIXED_Q")
|
|||||||
MIXED_QURL=$(qurl "$T1_ID" "$MIXED_Q")
|
MIXED_QURL=$(qurl "$T1_ID" "$MIXED_Q")
|
||||||
|
|
||||||
# Предзагрузка 100 msg
|
# Предзагрузка 100 msg
|
||||||
for m in $(seq 1 100); do
|
for m in $(seq 1 30); do
|
||||||
sqs "$T1_AK" "$T1_SK" send-message --queue-url "$MIXED_QURL" \
|
sqs "$T1_AK" "$T1_SK" send-message --queue-url "$MIXED_QURL" \
|
||||||
--message-body "mixed-init-${m}" >/dev/null 2>&1
|
--message-body "mixed-init-${m}" >/dev/null 2>&1
|
||||||
if (( m % 20 == 0 )); then printf "[init:${m}] " >&2; fi
|
if (( m % 20 == 0 )); then printf "[init:${m}] " >&2; fi
|
||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
echo " Начальная загрузка: 100 msg"
|
echo " Начальная загрузка: 30 msg"
|
||||||
|
|
||||||
# 10 Отправителей
|
# 10 Отправителей
|
||||||
for w in $(seq 1 10); do
|
for w in $(seq 1 5); do
|
||||||
(
|
(
|
||||||
end=$((SECONDS + MIXED_DURATION)); ok=0
|
end=$((SECONDS + MIXED_DURATION)); ok=0
|
||||||
while [[ $SECONDS -lt $end ]]; do
|
while [[ $SECONDS -lt $end ]]; do
|
||||||
@@ -815,7 +815,7 @@ for w in $(seq 1 10); do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# 10 Читателей-удалителей
|
# 10 Читателей-удалителей
|
||||||
for w in $(seq 1 10); do
|
for w in $(seq 1 5); do
|
||||||
(
|
(
|
||||||
end=$((SECONDS + MIXED_DURATION)); recv=0
|
end=$((SECONDS + MIXED_DURATION)); recv=0
|
||||||
while [[ $SECONDS -lt $end ]]; do
|
while [[ $SECONDS -lt $end ]]; do
|
||||||
@@ -834,7 +834,7 @@ for w in $(seq 1 10); do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# 3 GetQueueAttributes
|
# 3 GetQueueAttributes
|
||||||
for w in $(seq 1 3); do
|
for w in $(seq 1 2); do
|
||||||
(
|
(
|
||||||
end=$((SECONDS + MIXED_DURATION)); ok=0; fail=0
|
end=$((SECONDS + MIXED_DURATION)); ok=0; fail=0
|
||||||
while [[ $SECONDS -lt $end ]]; do
|
while [[ $SECONDS -lt $end ]]; do
|
||||||
@@ -863,11 +863,11 @@ wait
|
|||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
MIXED_SENT=0; MIXED_RECV=0; ATTR_OK=0; ATTR_FAIL=0
|
MIXED_SENT=0; MIXED_RECV=0; ATTR_OK=0; ATTR_FAIL=0
|
||||||
for w in $(seq 1 10); do
|
for w in $(seq 1 5); do
|
||||||
[[ -f "${TMPDIR_STRESS}/mixed_send_${w}.result" ]] && MIXED_SENT=$((MIXED_SENT + $(cat "${TMPDIR_STRESS}/mixed_send_${w}.result")))
|
[[ -f "${TMPDIR_STRESS}/mixed_send_${w}.result" ]] && MIXED_SENT=$((MIXED_SENT + $(cat "${TMPDIR_STRESS}/mixed_send_${w}.result")))
|
||||||
[[ -f "${TMPDIR_STRESS}/mixed_recv_${w}.result" ]] && MIXED_RECV=$((MIXED_RECV + $(cat "${TMPDIR_STRESS}/mixed_recv_${w}.result")))
|
[[ -f "${TMPDIR_STRESS}/mixed_recv_${w}.result" ]] && MIXED_RECV=$((MIXED_RECV + $(cat "${TMPDIR_STRESS}/mixed_recv_${w}.result")))
|
||||||
done
|
done
|
||||||
for w in $(seq 1 3); do
|
for w in $(seq 1 2); do
|
||||||
if [[ -f "${TMPDIR_STRESS}/mixed_attr_${w}.result" ]]; then
|
if [[ -f "${TMPDIR_STRESS}/mixed_attr_${w}.result" ]]; then
|
||||||
IFS=':' read -r ok fail < "${TMPDIR_STRESS}/mixed_attr_${w}.result"
|
IFS=':' read -r ok fail < "${TMPDIR_STRESS}/mixed_attr_${w}.result"
|
||||||
ATTR_OK=$((ATTR_OK + ok)); ATTR_FAIL=$((ATTR_FAIL + fail))
|
ATTR_OK=$((ATTR_OK + ok)); ATTR_FAIL=$((ATTR_FAIL + fail))
|
||||||
|
|||||||
Reference in New Issue
Block a user