Skip to content

Commit 1796c70

Browse files
authored
add performance testing
1 parent e6fb6ca commit 1796c70

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,42 @@ HttpServer.create()
4848
.listen(8080);
4949
```
5050

51+
## Performance
52+
53+
### Test cases
54+
55+
- We built a echo server by ESA HttpServer and used a http client to do the requests for RPS testing with different payload(16B, 128B, 512B, 1KB, 4KB, 10KB)
56+
- Also we used netty to build a same echo server which is same with above for RPS testing (use the `HttpServerCodec`, `HttpObjectAggregator` handlers directly).
57+
58+
### Hardware Used
59+
60+
We used the following software for the testing:
61+
62+
- wrk4.1.0
63+
64+
- | | OS | CPU | Mem |
65+
| ------ | ------------------------ | ---- | ---- |
66+
| server | centos:6.9-1.2.5(docker) | 4 | 8 |
67+
| client | centos:7.6-1.3.0(docker) | 16 | 3 |
68+
69+
70+
71+
### JVM Options
72+
73+
```
74+
-server -Xms3072m -Xmx3072m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintTenuringDistribution -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:logs/gc-${appName}-%t.log -XX:NumberOfGCLogFiles=20 -XX:GCLogFileSize=480M -XX:+UseGCLogFileRotation -XX:HeapDumpPath=.
75+
```
76+
77+
### Server Options
78+
79+
- we set the value of IO threads to 8.
80+
81+
### RPS
82+
83+
| | 16B | 128B | 512B | 1KB | 4KB | 10KB |
84+
| -------------- | --------- | --------- | --------- | --------- | -------- | -------- |
85+
| Netty Origin | 133272.34 | 132818.53 | 132390.78 | 127366.28 | 85408.7 | 49798.84 |
86+
| ESA HttpServer | 142063.99 | 139608.23 | 139646.04 | 140159.5 | 92767.53 | 53534.21 |
87+
88+
89+

0 commit comments

Comments
 (0)