-- 服务端设置 每客户端并发量限制为 32,建议与 客户端 Poolsize 一致,过大浪费资源,过小会导致服务忙从而限制吞吐量 -- 客户端 Poolsize = 32 ,即每客户端连接池数,客户端请求发送并发数,默认为4倍CPU数 -- 应用端 控制最大并发数 建议与 服务端相应并发数一致,但不强制,过大的并发数会导致并发执行次序随机性更强,以及单条执行时间过长,但不会报超时 ; /* queue(a) */ -- 并发执行,模拟慢速操作,timeout至少三倍于语句执行所需时间 select sleep(20s) from /trap/slowly -- { fork(xx) output() parallel(100) loop(100) timeout(60s)} ; /* queue(b) */ -- 并发执行,模拟普通操作 select sleep(1s) from /trap/normal -- { fork(xx) output() parallel(100) loop(2500) timeout(10s)} ; /* queue(c) */ -- 并发执行,模拟快速操作,timeout至少1s,防止网络延迟等原因导致频繁超时 select sleep(1ms) from /trap/quickly -- { fork(xx) output() parallel(100) loop(100000) timeout(1s)} ; -- 等待所有分支线程结束 -- { wait(xx) sleep(1ms) } ;