remove virtio-9p in features.txt

This commit is contained in:
yanjuguang 2024-04-12 14:04:41 +08:00
parent c10cb23607
commit 771a8214e6
2 changed files with 15 additions and 146 deletions

160
README.md
View File

@ -2,78 +2,42 @@
# How to run?
- Run:
- for aarch64
- for aarch64(without 9pfs)
```
make A=apps/c/redis/ LOG=error NET=y BLK=y ARCH=aarch64 SMP=4 ARGS="./redis-server,--bind,0.0.0.0,--port,5555,--save,\"\",--appendonly,no,--protected-mode,no,--ignore-warnings,ARM64-COW-BUG" run
```
- for x86_64
- for x86_64(without 9pfs)
```
make A=apps/c/redis/ LOG=error NET=y BLK=y ARCH=x86_64 SMP=4 ARGS="./redis-server,--bind,0.0.0.0,--port,5555,--save,\"\",--appendonly,no,--protected-mode,no" run
```
- version 3 for aarch64(using 9pfs)
- for aarch64(using 9pfs)
```
make A=apps/c/redis/ LOG=error NET=y V9P=y BLK=y V9P_PATH=apps/c/redis ARCH=aarch64 SMP=4 ARGS="./redis-server,/v9fs/redis.conf" run
make A=apps/c/redis/ LOG=error NET=y V9P=y BLK=y FEATURES=virtio-9p V9P_PATH=apps/c/redis ARCH=aarch64 SMP=4 ARGS="./redis-server,/v9fs/redis.conf" run
```
- version 3 for x86_64(using 9pfs)
- for x86_64(using 9pfs)
```
make A=apps/c/redis/ LOG=error NET=y V9P=y BLK=y V9P_PATH=apps/c/redis ARCH=x86_64 SMP=4 ARGS="./redis-server,/v9fs/redis.conf" run
make A=apps/c/redis/ LOG=error NET=y V9P=y BLK=y FEATURES=virtio-9p V9P_PATH=apps/c/redis ARCH=x86_64 SMP=4 ARGS="./redis-server,/v9fs/redis.conf" run
```
# How to test?
- Use `redis-cli -p 5555` to connect to redis-server, and enjoy Ruxos-Redis world!
- Use `redis-benchmark -p 5555` and other optional parameters to run the benchmark.
- Like: `redis-benchmark -p 5555 -n 5 -q -c 10`, this command issues 5 requests for each commands (like `set`, `get`, etc.), with 10 concurrency.
- `LRANGE_xxx` test may fail because of running out of memory(Follow notes 4, 5).
# Notes
- Only test "aarch64".
- Use `SMP=xxx`.
- Must run `make clean`, this may be changed later.
- Enlarge memory size in `qemu.mk` and `qemu-virt-aarch64.toml` to 2G.
- Extend fd number to 4096, and comment out corresponding checks in `flatten_objects`.
- It is recommended to **use pipeline**: `redis-benchmark -p 5555 -n 100000 -q -c 30 -P 16 -t set`
- Use `-t` to specify what to test: set, get, incr, lpush, rpush, lpop, rpop, sadd, hset, spop, zadd, mset
# Some test result
## AARCH64
### SET and GET:
### SET and GET(without pipiline):
- Here test `SET` and `GET` throughput.(30 conns, 100k requests like `unikraft`)
- command:
- `redis-benchmark -p 5555 -n 100000 -q -t set -c 30`
- `redis-benchmark -p 5555 -n 100000 -q -t get -c 30`
- 0630
| Operation | Op number | Concurrency | Round | Result(request per seconds) |
|-|-|-|-|-|
| SET | 100K | 30 | 1 | 11921.79 |
| | | | 2 | 11873.66 |
| | | | 3 | 11499.54 |
| | | | 4 | 12001.92 |
| | | | 5 | 11419.44 |
| GET | 100K | 30 | 1 | 13002.21 |
| | | | 2 | 12642.23 |
| | | | 3 | 13674.28 |
| | | | 4 | 12987.01 |
| | | | 5 | 12853.47 |
- 0710(Extend disk size)
| Operation | Op number | Concurrency | Round | Result(request per seconds) |
|-|-|-|-|-|
| SET | 100K | 30 | 1 | 12740.48 |
| | | | 2 | 13150.97 |
| | | | 3 | 13147.52 |
| | | | 4 | 12898.23 |
| | | | 5 | 12918.23 |
| GET | 100K | 30 | 1 | 13253.81 |
| | | | 2 | 14332.81 |
| | | | 3 | 14600.67 |
| | | | 4 | 13974.29 |
| | | | 5 | 14005.60 |
- 0714(Update net implementation, maximum: 2.9w(set))
@ -90,31 +54,7 @@
| | | | 4 | 27901.79 |
| | | | 5 | 27495.19 |
### Other tests, one round
- Do other tests.
- Use `config set save ""` to avoid rapidly saving.
- Use `-c 30`
- 0704
| Operation | Op number | Concurrency | Round | Result(request per seconds) |
|-|-|-|-|-|
| PING_INLINE | 100K | 30 | 1 | 12147.72 |
| INCR | 100K | 30 | 1 | 13097.58 |
| LPUSH | 100K | 30 | 1 | 12955.05 |
| RPUSH | 100K | 30 | 1 | 11339.15 |
| LPOP | 100K | 30 | 1 | 12611.93 |
| RPOP | 100K | 30 | 1 | 13106.16 |
| SADD | 100K | 30 | 1 | 12773.02 |
| HSET | 100K | 30 | 1 | 11531.37 |
| SPOP | 100K | 30 | 1 | 12918.23 |
| ZADD | 100K | 30 | 1 | 10462.44 |
| ZPOPMIN | 100K | 30 | 1 | 12817.23 |
| LRANGE_100 | 100K | 30 | 1 | 6462.45 |
| LRANGE_300 | 100K | 30 | 1 | 3318.84 |
| LRANGE_500 | 100K | 30 | 1 | 2522.13 |
| LRANGE_600 | 100K | 30 | 1 | 1877.30 |
| MSET | 100K | 30 | 1 | 8929.37 |
### Other tests, one round(without pipiline)
- 0714
```
@ -141,26 +81,11 @@ MSET (10 keys): 18460.40 requests per second
```
## X86_64
### SET and GET
### SET and GET(without pipiline)
- command:
- `redis-benchmark -p 5555 -n 100000 -q -t set -c 30`
- `redis-benchmark -p 5555 -n 100000 -q -t get -c 30`
- 0710
| Operation | Op number | Concurrency | Round | Result(request per seconds) |
|-|-|-|-|-|
| SET | 100K | 30 | 1 | 30931.02 |
| | | | 2 | 32258.07 |
| | | | 3 | 30571.69 |
| | | | 4 | 33344.45 |
| | | | 5 | 31655.59 |
| GET | 100K | 30 | 1 | 33523.30 |
| | | | 2 | 33134.53 |
| | | | 3 | 30450.67 |
| | | | 4 | 33178.50 |
| | | | 5 | 32268.47 |
- 0714
| Operation | Op number | Concurrency | Round | Result(request per seconds) |
@ -176,28 +101,7 @@ MSET (10 keys): 18460.40 requests per second
| | | | 4 | 106951.88 |
| | | | 5 | 105263.16 |
### Other tests
- 0710
| Operation | Op number | Concurrency | Round | Result(request per seconds) |
|-|-|-|-|-|
| PING_INLINE | 100K | 30 | 1 | 32992.41 |
| INCR | 100K | 30 | 1 | 32467.53 |
| LPUSH | 100K | 30 | 1 | 29815.14 |
| RPUSH | 100K | 30 | 1 | 30864.20 |
| LPOP | 100K | 30 | 1 | 34094.78 |
| RPOP | 100K | 30 | 1 | 31133.25 |
| SADD | 100K | 30 | 1 | 32948.93 |
| HSET | 100K | 30 | 1 | 31036.62 |
| SPOP | 100K | 30 | 1 | 32916.39 |
| ZADD | 100K | 30 | 1 | 30693.68 |
| ZPOPMIN | 100K | 30 | 1 | 31525.85 |
| LRANGE_100 | 100K | 30 | 1 | 22925.26 |
| LRANGE_300 | 100K | 30 | 1 | 7404.12 |
| LRANGE_500 | 100K | 30 | 1 | 9320.53 |
| LRANGE_600 | 100K | 30 | 1 | 7760.96 |
| MSET | 100K | 30 | 1 | 31269.54 |
### Other tests(without pipiline)
- 0714
@ -248,40 +152,7 @@ LRANGE_600 (first 600 elements): 28320.59 requests per second
MSET (10 keys): 183150.19 requests per second
```
## Unikraft
### AARCH64:
- `redis-benchmark -h 172.44.0.2 -q -n 100000 -c 30`
- Separately:
```
SET: 13814.06 requests per second
GET: 15297.54 requests per second
```
- The whole benchmark:
```
PING_INLINE: 14369.88 requests per second
PING_BULK: 13335.11 requests per second
SET: 13650.01 requests per second
GET: 12103.61 requests per second
INCR: 13395.85 requests per second
LPUSH: 10279.61 requests per second
RPUSH: 12536.04 requests per second
LPOP: 9541.07 requests per second
RPOP: 12540.76 requests per second
SADD: 11880.72 requests per second
HSET: 12318.30 requests per second
SPOP: 12235.41 requests per second
ZADD: 12130.03 requests per second
ZPOPMIN: 12223.45 requests per second
LPUSH (needed to benchmark LRANGE): 11125.95 requests per second
LRANGE_100 (first 100 elements): 6791.17 requests per second
LRANGE_300 (first 300 elements): 3772.30 requests per second
LRANGE_500 (first 450 elements): 2779.71 requests per second
LRANGE_600 (first 600 elements): 2230.80 requests per second
MSET (10 keys): 9215.74 requests per second
```
### X86_64
# Run Ruxos-Redis On PC
# Run RuxOS-Redis On PC
## Notification
@ -297,7 +168,7 @@ MSET (10 keys): 183150.19 requests per second
- `redis-cli -p 5555 -h 10.2.2.2`
- `redis-benchmark -p 5555 -h 10.2.2.2`
## Test Result
## Test Result(without pipiline)
### Qemu
@ -326,7 +197,7 @@ LRANGE_600 (first 600 elements): 12371.64 requests per second
MSET (10 keys): 54318.30 requests per second
```
### Real Machine
### Real Machine(without pipiline)
- 0801
@ -352,4 +223,3 @@ LRANGE_500 (first 450 elements): 16485.33 requests per second
LRANGE_600 (first 600 elements): 13159.63 requests per second
MSET (10 keys): 72780.20 requests per second
```

View File

@ -9,5 +9,4 @@ net
pipe
epoll
poll
virtio-9p
rtc