docs: update benchmark
This commit is contained in:
parent
9a67cb6006
commit
9fbc86057c
@ -11,13 +11,12 @@ We use [iperf](https://en.wikipedia.org/wiki/Iperf) as network bandwidth measure
|
||||
|
||||
## Preparations
|
||||
|
||||
### 1. clone and install blinksocks globally
|
||||
### 1. clone and install dependencies
|
||||
|
||||
```
|
||||
$ git clone https://github.com/blinksocks/blinksocks
|
||||
$ cd blinksocks
|
||||
$ npm install
|
||||
$ npm install -g .
|
||||
```
|
||||
|
||||
### 2. prepare test cases
|
||||
@ -46,75 +45,79 @@ Here is an example output about network performance of different [shadowsocks st
|
||||
|
||||
```
|
||||
blinksocks version:
|
||||
2.6.3
|
||||
2.8.4
|
||||
|
||||
Operating System:
|
||||
cpu Intel(R) Core(TM) i3-4160 CPU @ 3.60GHz
|
||||
cores 4
|
||||
memory 16722886656
|
||||
memory 16722878464
|
||||
type Linux
|
||||
platform linux
|
||||
arch x64
|
||||
release 4.4.0-96-generic
|
||||
release 4.4.0-101-generic
|
||||
|
||||
Node.js Versions:
|
||||
http_parser 2.7.0
|
||||
node 8.6.0
|
||||
v8 6.0.287.53
|
||||
uv 1.14.1
|
||||
node 8.9.3
|
||||
v8 6.1.534.48
|
||||
uv 1.15.0
|
||||
zlib 1.2.11
|
||||
ares 1.10.1-DEV
|
||||
modules 57
|
||||
nghttp2 1.25.0
|
||||
openssl 1.0.2l
|
||||
openssl 1.0.2n
|
||||
icu 59.1
|
||||
unicode 9.0
|
||||
cldr 31.0.1
|
||||
tz 2017b
|
||||
|
||||
running tests...
|
||||
running 4 tests...
|
||||
|
||||
------------ Test Case 0 ----------------
|
||||
[{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"aes-256-ctr"}}]
|
||||
Interval Transfer Bitrate
|
||||
0.00-3.00 sec 1.89 GBytes 5.42 Gbits/sec sender
|
||||
0.00-3.11 sec 1.77 GBytes 4.88 Gbits/sec receiver
|
||||
0.00-3.00 sec 1.84 GBytes 5.26 Gbits/sec sender
|
||||
0.00-3.12 sec 1.71 GBytes 4.71 Gbits/sec receiver
|
||||
-----------------------------------------
|
||||
|
||||
------------ Test Case 1 ----------------
|
||||
[{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"aes-256-cfb"}}]
|
||||
Interval Transfer Bitrate
|
||||
0.00-3.00 sec 994 MBytes 2.78 Gbits/sec sender
|
||||
0.00-3.31 sec 890 MBytes 2.26 Gbits/sec receiver
|
||||
0.00-3.00 sec 972 MBytes 2.72 Gbits/sec sender
|
||||
0.00-3.30 sec 856 MBytes 2.18 Gbits/sec receiver
|
||||
-----------------------------------------
|
||||
|
||||
------------ Test Case 2 ----------------
|
||||
[{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"camellia-256-cfb"}}]
|
||||
Interval Transfer Bitrate
|
||||
0.00-3.00 sec 502 MBytes 1.40 Gbits/sec sender
|
||||
0.00-3.73 sec 394 MBytes 887 Mbits/sec receiver
|
||||
0.00-3.00 sec 510 MBytes 1.43 Gbits/sec sender
|
||||
0.00-3.58 sec 382 MBytes 896 Mbits/sec receiver
|
||||
-----------------------------------------
|
||||
|
||||
------------ Test Case 3 ----------------
|
||||
[{"name":"ss-base"},{"name":"ss-aead-cipher","params":{"method":"aes-256-gcm"}}]
|
||||
Interval Transfer Bitrate
|
||||
0.00-3.00 sec 804 MBytes 2.25 Gbits/sec sender
|
||||
0.00-3.31 sec 489 MBytes 1.24 Gbits/sec receiver
|
||||
0.00-3.00 sec 731 MBytes 2.04 Gbits/sec sender
|
||||
0.00-3.89 sec 642 MBytes 1.38 Gbits/sec receiver
|
||||
-----------------------------------------
|
||||
|
||||
(ranking):
|
||||
|
||||
1: Test Case 0, Bitrate=[5.42 Gbits/sec, 4.88 Gbits/sec], [{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"aes-256-ctr"}}]
|
||||
2: Test Case 1, Bitrate=[2.78 Gbits/sec, 2.26 Gbits/sec], [{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"aes-256-cfb"}}]
|
||||
3: Test Case 3, Bitrate=[2.25 Gbits/sec, 1.24 Gbits/sec], [{"name":"ss-base"},{"name":"ss-aead-cipher","params":{"method":"aes-256-gcm"}}]
|
||||
4: Test Case 2, Bitrate=[1.40 Gbits/sec, 887 Mbits/sec], [{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"camellia-256-cfb"}}]
|
||||
1: Test Case 0, Bitrate = 5.26 Gbits/sec, 4.71 Gbits/sec
|
||||
[{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"aes-256-ctr"}}]
|
||||
2: Test Case 1, Bitrate = 2.72 Gbits/sec, 2.18 Gbits/sec
|
||||
[{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"aes-256-cfb"}}]
|
||||
3: Test Case 3, Bitrate = 2.04 Gbits/sec, 1.38 Gbits/sec
|
||||
[{"name":"ss-base"},{"name":"ss-aead-cipher","params":{"method":"aes-256-gcm"}}]
|
||||
4: Test Case 2, Bitrate = 1.43 Gbits/sec, 896 Mbits/sec
|
||||
[{"name":"ss-base"},{"name":"ss-stream-cipher","params":{"method":"camellia-256-cfb"}}]
|
||||
|
||||
Done in 59.51s.
|
||||
Done in 61.94s.
|
||||
```
|
||||
|
||||
As you can see, the program first lists **blinksocks version**, **Operating System** and **Node.js Versions** parameters of the current platform.
|
||||
|
||||
Following the parameters, there are 3 test cases, each test case has different configuration(presets) defined in [benchmark/cases.js]. Test results are followed by configuration line.
|
||||
Following the parameters, there are 4 test cases, each test case has different configuration(presets) defined in [benchmark/cases.js]. Test results are followed by configuration line.
|
||||
|
||||
The first line of results represents traffic from `iperf -c` to `bs-client` while the second represents traffic from `bs-server` to `iperf -s`.
|
||||
|
||||
@ -125,7 +128,7 @@ The first line of results represents traffic from `iperf -c` to `bs-client` whil
|
||||
|
||||
> You'd better check out [benchmark/iperf.sh] and figure out how it works.
|
||||
|
||||
**In my environment**, `aes-256-ctr` has the maximum transfer and bitrate among these 4 test cases.
|
||||
**In my environment**, stream cipher with `aes-256-ctr` encryption method has the maximum transfer as well as bitrate among these 4 test cases.
|
||||
|
||||
## History Reports
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user