3.mql 1.1 KB

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