Skip to content

5 性能测试

flabby edited this page May 19, 2017 · 3 revisions

性能测试

  • 测试接口:

    • 一致性接口: Write/Read/Delete
    • 本地接口:DirtyRead/DirtyWrite
  • 说明:

    • 一致性请求:因为follower会把一致性请求转发给Leader处理,所以集群的性能近似于leader单节点的性能;
    • 本地请求:集群的性能应该是各个节点的QPS之和;

测试结果

  • 对于一致性的Read/Write/Delete:
    • 正常情况下集群或者Leader的QPS在800;
    • 在挂掉节点时,QPS最终下降到100以内;
  • DirtyRead直接读本地,不受集群状态影响,单机QPS在5w左右;
  • DirtyWrite单机QPS在300;

主要问题:

  • 1 挂掉节点时性能瓶颈分析,以下为猜测,验证后更新;
    • a)文件的Log需要加cache;
    • b)ClientPool的connect和send、recv超时设置会影响性能;
    • b)并发线程数;
  • 2 DirtyWrite性能瓶颈分析;
    • 写完本地后,还需要同步的依次Send Recv给其他所有节点;

环境

  • 5个节点5台机器
  • 机器为24核 140G

主要场景

  • 所有5个节点可用
  • 4个节点可用;
  • 3个节点可用

测试用例

case API key(Bytes value(Bytes) 客户端个数 QPS
1 5个节点 Write 20 20 5台*10进程 623~788
2 5个节点 Read 20 20 5台*10进程 725~835
3 5个节点 Delete 20 20 5台*10进程 687~865
4 4个节点 Write 20 20 5台*10进程 125持续下降到40
5 3个节点 Read 20 20 5台*10进程 持续下降到30
6 5个节点 DirtyWrite 20 20 5台*10进程 单个节点在264~285
7 4个节点 DirtyWrite 20 20 5台*10进程 单个节点下降到109~131
8 3个节点 DirtyWrite 20 20 5台*10进程 单个节点下降到78
9 5个节点 DirtyRead 20 20 5台*10进程 单个节点在36773~52969
10 4个节点 DirtyRead 20 20 5台*10进程 单个节点在35643~51731
11 3个节点 DirtyRead 20 20 5台*10进程 单个节点在35598~49013

同机部署

  • 为了去掉网络的影响,同机部署;
  • QPS:2000

简介

安装使用

设计与实现

工具

  • FileLog解析工具log_parser

测试

Clone this wiki locally