This commit is contained in:
Alex Yang
2026-01-16 11:09:11 +08:00
parent 8159577be0
commit cdac4fcf43
284 changed files with 2813570 additions and 14 deletions

88
test_optimization_v3.sh Normal file
View File

@@ -0,0 +1,88 @@
#!/bin/bash
# DNS性能优化验证脚本简化版
SERVER="127.0.0.1"
DOMAIN="example.com"
CONCURRENCY=50
QUERIES=2000
echo "========================================="
echo "DNS服务器多线程优化验证测试"
echo "========================================="
echo "服务器: $SERVER"
echo "域名: $DOMAIN"
echo "并发数: $CONCURRENCY"
echo "总查询数: $QUERIES"
echo "========================================="
echo ""
echo "启动DNS服务器..."
./dns-server > /dev/null 2>&1 &
DNS_PID=$!
echo "DNS服务器PID: $DNS_PID"
sleep 5
echo ""
echo "========================================="
echo "开始压力测试前系统状态:"
echo "========================================="
echo "CPU使用率:"
top -b -n 1 | grep "Cpu(s)" | awk '{print " " $2 "% 用户, " $4 "% 系统, " $8 "% 空闲"}'
echo ""
echo "内存使用情况:"
free -h | grep -E "Mem|Swap" | awk '{print " " $1 ": " $3 "/" $2 " (" $3/$2*100 "% 使用)"}'
echo ""
echo "DNS服务器进程资源使用:"
ps -p $DNS_PID -o %cpu,%mem,cmd --no-headers | awk '{print " CPU: " $1 "%, 内存: " $2 "%"}'
echo ""
echo "========================================="
echo "开始压力测试..."
echo "========================================="
start_time=$(date +%s.%N)
for ((i=1; i<=$QUERIES; i++)); do
dig @$SERVER $DOMAIN A +short > /dev/null 2>&1 &
if (( $i % $CONCURRENCY == 0 )); then
wait
fi
done
wait
end_time=$(date +%s.%N)
elapsed=$(echo "$end_time - $start_time" | bc)
qps=$(echo "scale=2; $QUERIES / $elapsed" | bc)
echo ""
echo "========================================="
echo "压力测试后系统状态:"
echo "========================================="
echo "CPU使用率:"
top -b -n 1 | grep "Cpu(s)" | awk '{print " " $2 "% 用户, " $4 "% 系统, " $8 "% 空闲"}'
echo ""
echo "内存使用情况:"
free -h | grep -E "Mem|Swap" | awk '{print " " $1 ": " $3 "/" $2 " (" $3/$2*100 "% 使用)"}'
echo ""
echo "DNS服务器进程资源使用:"
ps -p $DNS_PID -o %cpu,%mem,cmd --no-headers 2>/dev/null | awk '{print " CPU: " $1 "%, 内存: " $2 "%"}'
echo ""
echo "========================================="
echo "测试结果:"
echo "========================================="
echo "总查询数: $QUERIES"
echo "执行时间: $elapsed"
echo "QPS: $qps 次/秒"
echo "========================================="
echo ""
echo "停止DNS服务器..."
kill $DNS_PID 2>/dev/null
sleep 2
echo ""
echo "测试完成!"