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分钟后的释放,其实是惰删除,需要再使用一下连接才触发