Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using Gnet to implement Redis meet performance problem #296

Open
slow-zhang opened this issue Dec 10, 2021 · 1 comment
Open

Using Gnet to implement Redis meet performance problem #296

slow-zhang opened this issue Dec 10, 2021 · 1 comment
Assignees
Labels
help wanted Extra attention is needed question Further information is requested

Comments

@slow-zhang
Copy link

slow-zhang commented Dec 10, 2021

i implement and test the following two kind of redis impl,

test result summary

  • write: rps: go-net: ~2.5x higher, p99: 10ms/3ms: 3x faster
  • read: rps: go-net: 20x higher, p99 13ms/1ms: 13x faster

test result

gnet

====== SET ======
  100000 requests completed in 7.42 seconds
  100 parallel clients
  100000 bytes payload
  keep alive: 1

2.83% <= 1 milliseconds
23.93% <= 2 milliseconds
48.84% <= 3 milliseconds
63.00% <= 4 milliseconds
73.19% <= 5 milliseconds
82.17% <= 6 milliseconds
88.90% <= 7 milliseconds
93.67% <= 8 milliseconds
96.79% <= 9 milliseconds
98.28% <= 10 milliseconds
99.08% <= 11 milliseconds
99.48% <= 12 milliseconds
99.66% <= 13 milliseconds
99.74% <= 14 milliseconds
99.80% <= 15 milliseconds
99.85% <= 16 milliseconds
99.87% <= 17 milliseconds
99.88% <= 18 milliseconds
99.90% <= 19 milliseconds
99.92% <= 20 milliseconds
99.94% <= 21 milliseconds
99.95% <= 22 milliseconds
99.96% <= 23 milliseconds
99.97% <= 24 milliseconds
99.98% <= 25 milliseconds
99.98% <= 26 milliseconds
99.99% <= 27 milliseconds
99.99% <= 28 milliseconds
99.99% <= 29 milliseconds
99.99% <= 30 milliseconds
100.00% <= 31 milliseconds
100.00% <= 32 milliseconds
100.00% <= 32 milliseconds
13484.36 requests per second

====== GET ======
  100000 requests completed in 15.69 seconds
  100 parallel clients
  100000 bytes payload
  keep alive: 1

1.70% <= 1 milliseconds
35.68% <= 2 milliseconds
65.21% <= 3 milliseconds
77.12% <= 4 milliseconds
85.22% <= 5 milliseconds
90.92% <= 6 milliseconds
94.49% <= 7 milliseconds
96.47% <= 8 milliseconds
97.45% <= 9 milliseconds
98.13% <= 10 milliseconds
98.54% <= 11 milliseconds
98.72% <= 12 milliseconds
98.91% <= 13 milliseconds
99.03% <= 14 milliseconds
99.10% <= 15 milliseconds
99.15% <= 16 milliseconds
99.26% <= 17 milliseconds
99.32% <= 18 milliseconds
99.38% <= 19 milliseconds
99.46% <= 20 milliseconds
99.49% <= 21 milliseconds
99.62% <= 22 milliseconds
99.70% <= 23 milliseconds
99.73% <= 24 milliseconds
99.75% <= 25 milliseconds
99.78% <= 26 milliseconds
99.83% <= 27 milliseconds
99.85% <= 28 milliseconds
99.89% <= 29 milliseconds
99.92% <= 30 milliseconds
99.93% <= 31 milliseconds
99.93% <= 32 milliseconds
99.94% <= 33 milliseconds
99.96% <= 46 milliseconds
99.96% <= 47 milliseconds
99.97% <= 48 milliseconds
99.97% <= 54 milliseconds
99.97% <= 58 milliseconds
99.98% <= 59 milliseconds
99.99% <= 67 milliseconds
100.00% <= 67 milliseconds
6375.52 requests per second

go-net

====== SET ======
  100000 requests completed in 2.83 seconds
  100 parallel clients
  100000 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
98.16% <= 2 milliseconds
99.98% <= 3 milliseconds
100.00% <= 3 milliseconds
35385.70 requests per second

====== GET ======
  100000 requests completed in 0.86 seconds
  100 parallel clients
  100000 bytes payload
  keep alive: 1

97.01% <= 1 milliseconds
100.00% <= 1 milliseconds
116822.43 requests per second
@slow-zhang slow-zhang added help wanted Extra attention is needed question Further information is requested labels Dec 10, 2021
@slow-zhang slow-zhang changed the title Gnet 性能问题 Using Gnet to implement Redis meet performance problem Dec 10, 2021
@slow-zhang
Copy link
Author

here is my implement, btw, my implementation of gnet is always blocked on receiving incomplete requests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants