gitee.com/woood2/luca@v1.0.4/test/connection_pool.md (about)

     1  ### 测试内容
     2  mysql、mongo、redis 连接池测试    
     3    
     4  ### mysql
     5  ```
     6  不设置连接池
     7      最大连接数=0(无限制),最大空闲连接数=0
     8      ab -n 100 -c 50 -H "token:1" localhost:8080/apps
     9      预期
    10          ab进行时,socket fd <= 50 (ab -c限制)
    11          ab结束后,socket fd = 0
    12  
    13  设置连接池 30/10
    14      最大连接数=30,最大空闲连接数=10
    15      ab -n 10000 -c 50 -H "token:1" localhost:8080/apps
    16      预期
    17          ab进行时,socket fd <= 30
    18          ab结束后,socket fd = 10
    19  ```
    20  
    21  ### mongo
    22  ```
    23  不设置连接池 
    24      最大连接数=0(无限制),最小连接数=0
    25      ab -n 10000 -c 50 localhost:8080/hello
    26      预期
    27          ab进行时,socket fd <= 50 (ab -c限制)
    28          ab结束后,socket fd 5分钟后降到0
    29  
    30  设置连接池 30/10   
    31      最大连接数=30,最小连接数=10
    32      ab -n 10000 -c 50 localhost:8080/hello
    33      预期
    34          ab进行时,socket fd <= 30
    35          ab结束后,socket fd 5分钟后降到10
    36  ```                         
    37  
    38  ### redis 
    39  ```
    40  不设置连接池 
    41      最大连接数=0(10 * runtime.NumCPU()),最小空闲连接数=0
    42      ab -n 10000 -c 50 localhost:8080/hello
    43      预期
    44          ab进行时,socket fd = min(50, 10 * runtime.NumCPU())
    45          ab结束后,socket fd 5分钟后降到0
    46  
    47  设置连接池 30/10   
    48      最大连接数=30,最小空闲连接数=10
    49      ab -n 10000 -c 50 localhost:8080/hello
    50      预期
    51          ab进行时,socket fd <= 30
    52          ab结束后,socket fd 5分钟后降到10
    53  ```   
    54  
    55  ### 补充
    56  - mongo 保持了用途不明的个位数socket fd,但对连接池总体上影响不大
    57  - mongo、redis 5分钟后的释放,其实是惰删除,需要再使用一下连接才触发