使用JAVA实现的key-value内存数据库,参照Redis的设计**。
单客户端连续发送10万条命令,压测结果如下
市面Redis的QPS为2万+
调优内容 | GET请求QPS | GET请求QPS | SET请求QPS |
---|---|---|---|
数据量 | 发送29返回23(字节) | 发送35返回5324(字节) | 发送5356返回17(字节) |
无 | 4000 | - | - |
合并首部和数据内容 | 7000~8000 | 500 | 500 |
服务端改成单线程模型 | 8000~9000 | 750~850 | 700~800 |
加动态缓冲区 | 8000~9000 | 5000~6000 | 5000~6000 |
客户端接单线程模型 | 15000+ | 9700~9800 | 9500~9600 |