Skip to content

Commit e462053

Browse files
test(lmbench): 添加 TCP 网络性能测试脚本
添加 TCP 协议栈的性能测试脚本: TCP loopback 测试(本地回环): - tcp_loopback_bw_128.sh: 128 字节消息带宽测试 - tcp_loopback_bw_4k.sh: 4KB 消息带宽测试 - tcp_loopback_bw_64k.sh: 64KB 消息带宽测试 - tcp_loopback_lat.sh: 延迟测试 - tcp_loopback_connect_lat.sh: 连接建立延迟测试 - tcp_loopback_http_bw.sh: HTTP 带宽测试 - tcp_loopback_select_lat.sh: select 系统调用延迟测试 TCP virtio 测试(虚拟网络): - tcp_virtio_bw_128.sh: 128 字节消息带宽测试 - tcp_virtio_bw_64k.sh: 64KB 消息带宽测试 - tcp_virtio_lat.sh: 延迟测试 - tcp_virtio_connect_lat.sh: 连接建立延迟测试 所有 loopback 测试包含服务端自动启动和清理逻辑。 Virtio 测试需要在 10.0.2.15 运行对应服务端。 Signed-off-by: yuming <mingjiangyu1@qq.com>
1 parent 093e339 commit e462053

11 files changed

+294
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
# Test: tcp_loopback_bw_128
3+
# Binary: bw_tcp
4+
# Description: TCP loopback bandwidth test with 128 byte messages
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
SERVER_PID=""
14+
15+
cleanup() {
16+
if [ ! -z "$SERVER_PID" ]; then
17+
kill $SERVER_PID 2>/dev/null || true
18+
wait $SERVER_PID 2>/dev/null || true
19+
fi
20+
}
21+
22+
trap cleanup EXIT INT TERM
23+
24+
echo "=== Starting TCP server ==="
25+
${LMBENCH_BIN}/bw_tcp -s 127.0.0.1 -b 1 &
26+
SERVER_PID=$!
27+
sleep 2
28+
29+
echo "=== Running TCP bandwidth test (128 bytes) ==="
30+
${LMBENCH_BIN}/bw_tcp -m 128 -P 1 127.0.0.1
31+
32+
echo "=== Shutting down server ==="
33+
${LMBENCH_BIN}/bw_tcp -S 127.0.0.1
34+
35+
echo "Test completed successfully"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
# Test: tcp_loopback_bw_4k
3+
# Binary: bw_tcp
4+
# Description: TCP loopback bandwidth test with 4k messages
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
SERVER_PID=""
14+
15+
cleanup() {
16+
if [ ! -z "$SERVER_PID" ]; then
17+
kill $SERVER_PID 2>/dev/null || true
18+
wait $SERVER_PID 2>/dev/null || true
19+
fi
20+
}
21+
22+
trap cleanup EXIT INT TERM
23+
24+
echo "=== Starting TCP server ==="
25+
${LMBENCH_BIN}/bw_tcp -s 127.0.0.1 -b 1 &
26+
SERVER_PID=$!
27+
sleep 2
28+
29+
echo "=== Running TCP bandwidth test (4k) ==="
30+
${LMBENCH_BIN}/bw_tcp -m 4096 -P 1 127.0.0.1
31+
32+
echo "=== Shutting down server ==="
33+
${LMBENCH_BIN}/bw_tcp -S 127.0.0.1
34+
35+
echo "Test completed successfully"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
# Test: tcp_loopback_bw_64k
3+
# Binary: bw_tcp
4+
# Description: TCP loopback bandwidth test with 64k messages
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
SERVER_PID=""
14+
15+
cleanup() {
16+
if [ ! -z "$SERVER_PID" ]; then
17+
kill $SERVER_PID 2>/dev/null || true
18+
wait $SERVER_PID 2>/dev/null || true
19+
fi
20+
}
21+
22+
trap cleanup EXIT INT TERM
23+
24+
echo "=== Starting TCP server ==="
25+
${LMBENCH_BIN}/bw_tcp -s 127.0.0.1 -b 1 &
26+
SERVER_PID=$!
27+
sleep 2
28+
29+
echo "=== Running TCP bandwidth test (64k) ==="
30+
${LMBENCH_BIN}/bw_tcp -m 65536 -P 1 127.0.0.1
31+
32+
echo "=== Shutting down server ==="
33+
${LMBENCH_BIN}/bw_tcp -S 127.0.0.1
34+
35+
echo "Test completed successfully"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
# Test: tcp_loopback_connect_lat
3+
# Binary: lat_connect
4+
# Description: TCP loopback connection latency test
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
SERVER_PID=""
14+
15+
cleanup() {
16+
if [ ! -z "$SERVER_PID" ]; then
17+
kill $SERVER_PID 2>/dev/null || true
18+
wait $SERVER_PID 2>/dev/null || true
19+
fi
20+
}
21+
22+
trap cleanup EXIT INT TERM
23+
24+
echo "=== Starting TCP server ==="
25+
${LMBENCH_BIN}/lat_connect -s 127.0.0.1 &
26+
SERVER_PID=$!
27+
sleep 2
28+
29+
echo "=== Running TCP connection latency test ==="
30+
${LMBENCH_BIN}/lat_connect 127.0.0.1
31+
32+
echo "=== Shutting down server ==="
33+
${LMBENCH_BIN}/lat_connect -S 127.0.0.1
34+
35+
echo "Test completed successfully"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
# Test: tcp_loopback_http_bw
3+
# Binary: lmhttp, lat_http
4+
# Description: TCP loopback HTTP bandwidth test
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
SERVER_PID=""
14+
15+
cleanup() {
16+
if [ ! -z "$SERVER_PID" ]; then
17+
kill $SERVER_PID 2>/dev/null || true
18+
wait $SERVER_PID 2>/dev/null || true
19+
fi
20+
}
21+
22+
trap cleanup EXIT INT TERM
23+
24+
echo "=== Starting HTTP server ==="
25+
${LMBENCH_BIN}/lmhttp &
26+
SERVER_PID=$!
27+
sleep 2
28+
29+
echo "=== Running HTTP bandwidth test ==="
30+
${LMBENCH_BIN}/lat_http 127.0.0.1 < file_list
31+
32+
echo "=== Shutting down server ==="
33+
${LMBENCH_BIN}/lat_http -S 127.0.0.1
34+
35+
echo "Test completed successfully"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
# Test: tcp_loopback_lat
3+
# Binary: lat_tcp
4+
# Description: TCP loopback latency test
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
SERVER_PID=""
14+
15+
cleanup() {
16+
if [ ! -z "$SERVER_PID" ]; then
17+
kill $SERVER_PID 2>/dev/null || true
18+
wait $SERVER_PID 2>/dev/null || true
19+
fi
20+
}
21+
22+
trap cleanup EXIT INT TERM
23+
24+
echo "=== Starting TCP server ==="
25+
${LMBENCH_BIN}/lat_tcp -s 127.0.0.1 -b 1 &
26+
SERVER_PID=$!
27+
sleep 2
28+
29+
echo "=== Running TCP latency test ==="
30+
${LMBENCH_BIN}/lat_tcp -P 1 127.0.0.1
31+
32+
echo "=== Shutting down server ==="
33+
${LMBENCH_BIN}/lat_tcp -S 127.0.0.1
34+
35+
echo "Test completed successfully"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
# Test: tcp_loopback_select_lat
3+
# Binary: lat_select
4+
# Description: TCP loopback select latency test
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
echo "=== Running TCP select latency test ==="
14+
${LMBENCH_BIN}/lat_select -P 1 tcp
15+
16+
echo "Test completed successfully"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
# Test: tcp_virtio_bw_128
3+
# Binary: bw_tcp
4+
# Description: TCP virtio bandwidth test with 128 byte messages
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
echo "=== Running TCP virtio bandwidth test (128 bytes) ==="
14+
echo "Note: This test requires a server running at 10.0.2.15"
15+
${LMBENCH_BIN}/bw_tcp -s 10.0.2.15 -b 1
16+
17+
echo "Test completed successfully"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
# Test: tcp_virtio_bw_64k
3+
# Binary: bw_tcp
4+
# Description: TCP virtio bandwidth test with 64k messages
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
echo "=== Running TCP virtio bandwidth test (64k) ==="
14+
echo "Note: This test requires a server running at 10.0.2.15"
15+
${LMBENCH_BIN}/bw_tcp -s 10.0.2.15 -b 1
16+
17+
echo "Test completed successfully"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
# Test: tcp_virtio_connect_lat
3+
# Binary: lat_connect
4+
# Description: TCP virtio connection latency test
5+
6+
set -e
7+
8+
if [ -z "$LMBENCH_BIN" ]; then
9+
echo "Error: Please source env.sh first"
10+
exit 1
11+
fi
12+
13+
echo "=== Running TCP virtio connection latency test ==="
14+
echo "Note: This test requires a server running at 10.0.2.15"
15+
${LMBENCH_BIN}/lat_connect -s 10.0.2.15 -b 1000
16+
17+
echo "Test completed successfully"

0 commit comments

Comments
 (0)