Remove UDP from benchmark_network.sh to fix unbound variable error
- Remove UDP test block (1/2/4 connections) - Remove UDP_RES from calc_max() and results display - Remove UDP from best-result analysis - Benchmark is now TCP-only until UDP reliability is fixed Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
+3
-65
@@ -356,53 +356,6 @@ IFS='|' read -r ms mbs ok <<< "$result"
|
|||||||
RSYNCC_RES=("$ms|$mbs|$ok")
|
RSYNCC_RES=("$ms|$mbs|$ok")
|
||||||
[ "$ok" -eq 1 ] && ok "${mbs} MB/s (${ms}ms)" || warn "${mbs} MB/s (${ms}ms) FAILED"
|
[ "$ok" -eq 1 ] && ok "${mbs} MB/s (${ms}ms)" || warn "${mbs} MB/s (${ms}ms) FAILED"
|
||||||
|
|
||||||
# UDP tests - only for scenarios without packet loss or jitter (UDP reliability not yet fully tested)
|
|
||||||
# Skip UDP for now as it has issues with network simulation
|
|
||||||
if [ "$PACKET_LOSS" = "0%" ] && [ "$JITTER_MS" = "0" ]; then
|
|
||||||
# Re-setup network for UDP tests
|
|
||||||
cleanup_network
|
|
||||||
setup_network
|
|
||||||
|
|
||||||
declare -a UDP_RES
|
|
||||||
UDP_LABELS=("fastSyncAI UDP 1 conn" "fastSyncAI UDP 2 conn" "fastSyncAI UDP 4 conn")
|
|
||||||
UDP_CONN_COUNTS=(1 2 4)
|
|
||||||
|
|
||||||
info "Testing UDP mode (${SCENARIO_NAME})..."
|
|
||||||
|
|
||||||
for i in "${!UDP_CONN_COUNTS[@]}"; do
|
|
||||||
n=${UDP_CONN_COUNTS[$i]}
|
|
||||||
echo -n " ${UDP_LABELS[$i]}... "
|
|
||||||
dst="$DST_DIR_BASE/udp_${n}"
|
|
||||||
port=$((FASTSYNC_PORT + 100 + n))
|
|
||||||
rm -rf "$dst"
|
|
||||||
mkdir -p "$dst"
|
|
||||||
|
|
||||||
"$SERVER_BIN" -p "$port" -d "$dst" >/dev/null 2>&1 &
|
|
||||||
spid=$!
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
output=$(timeout 600 "$CLIENT_BIN" -h "$HOST" -p "$port" -s "$SRC_DIR" -n "$n" -u 2>&1) || true
|
|
||||||
|
|
||||||
ms=$(echo "$output" | grep -oP 'ms=\K[0-9.]+' || echo "0")
|
|
||||||
mbs=$(echo "$output" | grep -oP 'throughput_mbs=\K[0-9.]+' || echo "0")
|
|
||||||
ok=1
|
|
||||||
verify "$SRC_DIR" "$dst" || ok=0
|
|
||||||
echo "${ms}|${mbs}|${ok}"
|
|
||||||
UDP_RES+=("${ms}|${mbs}|${ok}")
|
|
||||||
[ "$ok" -eq 1 ] && ok "${mbs} MB/s (${ms}ms)" || warn "${mbs} MB/s (${ms}ms) FAILED"
|
|
||||||
|
|
||||||
kill "$spid" 2>/dev/null || true
|
|
||||||
wait "$spid" 2>/dev/null || true
|
|
||||||
sync
|
|
||||||
sleep 1
|
|
||||||
rm -rf "$dst"
|
|
||||||
done
|
|
||||||
|
|
||||||
cleanup_network
|
|
||||||
else
|
|
||||||
warn "Skipping UDP tests (packet loss scenarios not yet supported for UDP)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Re-setup network for final TCP results display
|
# Re-setup network for final TCP results display
|
||||||
setup_network
|
setup_network
|
||||||
|
|
||||||
@@ -416,7 +369,7 @@ echo ""
|
|||||||
# Calculate max for scaling
|
# Calculate max for scaling
|
||||||
calc_max() {
|
calc_max() {
|
||||||
local max=0
|
local max=0
|
||||||
for res in "${FS_RES[@]}" "${RSYNC_RES[@]}" "${RSYNCC_RES[@]}" "${UDP_RES[@]:-}"; do
|
for res in "${FS_RES[@]}" "${RSYNC_RES[@]}" "${RSYNCC_RES[@]}"; do
|
||||||
local mbs=$(echo "$res" | cut -d'|' -f2)
|
local mbs=$(echo "$res" | cut -d'|' -f2)
|
||||||
local int=$(echo "$mbs" | awk '{printf "%d", $1+0}')
|
local int=$(echo "$mbs" | awk '{printf "%d", $1+0}')
|
||||||
[ "$int" -gt "$max" ] 2>/dev/null && max=$int
|
[ "$int" -gt "$max" ] 2>/dev/null && max=$int
|
||||||
@@ -436,15 +389,7 @@ for i in "${!FS_RES[@]}"; do
|
|||||||
printf " %-22s %-10s %-10s %s %s\n" "${FS_LABELS[$i]}" "$ms" "$mbs" "$bar" "$v"
|
printf " %-22s %-10s %-10s %s %s\n" "${FS_LABELS[$i]}" "$ms" "$mbs" "$bar" "$v"
|
||||||
done
|
done
|
||||||
|
|
||||||
# UDP results
|
|
||||||
if [ ${#UDP_RES[@]} -gt 0 ]; then
|
|
||||||
for i in "${!UDP_RES[@]}"; do
|
|
||||||
IFS='|' read -r ms mbs ok <<< "${UDP_RES[$i]}"
|
|
||||||
bar=$(draw_bar "$mbs" "$MAX_MBS")
|
|
||||||
v=$([ "$ok" -eq 1 ] && echo "✓" || echo "✗")
|
|
||||||
printf " %-22s %-10s %-10s %s %s\n" "${UDP_LABELS[$i]}" "$ms" "$mbs" "$bar" "$v"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
IFS='|' read -r ms mbs ok <<< "${RSYNC_RES[0]}"
|
IFS='|' read -r ms mbs ok <<< "${RSYNC_RES[0]}"
|
||||||
bar=$(draw_bar "$mbs" "$MAX_MBS")
|
bar=$(draw_bar "$mbs" "$MAX_MBS")
|
||||||
@@ -472,14 +417,7 @@ for i in "${!FS_RES[@]}"; do
|
|||||||
done
|
done
|
||||||
best_label="${FS_LABELS[$best_idx]}"
|
best_label="${FS_LABELS[$best_idx]}"
|
||||||
|
|
||||||
# Also check UDP results
|
|
||||||
if [ ${#UDP_RES[@]} -gt 0 ]; then
|
|
||||||
for i in "${!UDP_RES[@]}"; do
|
|
||||||
this_mbs=$(echo "${UDP_RES[$i]}" | cut -d'|' -f2 | awk '{printf "%d", $1+0}')
|
|
||||||
[ "$this_mbs" -gt "$best_mbs" ] && best_mbs=$this_mbs && best_idx=$i && best_is_udp=1
|
|
||||||
done
|
|
||||||
[ "$best_is_udp" = "1" ] && best_label="${UDP_LABELS[$best_idx]}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
IFS='|' read -r rs_ms rs_mbs rs_ok <<< "${RSYNC_RES[0]}"
|
IFS='|' read -r rs_ms rs_mbs rs_ok <<< "${RSYNC_RES[0]}"
|
||||||
rs_mbs_int=$(echo "$rs_mbs" | awk '{printf "%d", $1+0}')
|
rs_mbs_int=$(echo "$rs_mbs" | awk '{printf "%d", $1+0}')
|
||||||
|
|||||||
Reference in New Issue
Block a user