当前位置: 首页 > 文档资料 > Swoole 内核开发 >

开发流程规范化

优质
小牛编辑
130浏览
2023-12-01

压力测试

脚本在/benchmark中,

需要覆盖到

  • TCP服务器,代码:tcp.php,监听端口9502
  • UDP服务器,代码:udp.php,监听端口9502
  • HTTP服务器,代码:http.php,监听端口9502
  • WebSocket服务器,代码:websocket.php,监听端口9502

测试脚本

  • php async.php -c 100 -n 100000 -s tcp://127.0.0.1:9502 -f long_tcp
  • php async.php -c 100 -n 20000 -s tcp://127.0.0.1:9502 -f short_tcp
  • php async.php -c 100 -n 100000 -s udp://127.0.0.1:9502 -f udp
  • php async.php -c 100 -n 100000 -s tcp://127.0.0.1:9502 -f websocket

Http服务器测试

  • 短连接:ab -c 100 -n 50000 http://127.0.0.1:9501/
  • 长连接:ab -c 100 -n 100000 -k http://127.0.0.1:9501/
  • POST请求:ab -c 100 -n 100000 -k -p post.data -T 'application/x-www-form-urlencoded' http://127.0.0.1:9501/
  • COOKIE:ab -c 100 -n 100000 -k -C Key1=Value1 -p post.data -T 'application/x-www-form-urlencoded' http://127.0.0.1:9501/

单元测试

脚本在tests项目中,部分代码在examples中,运行单元测试时使用USE_ZEND_ALLOC=0 valgrind php xxx.php执行。观察是否存在错误的内存读写和内存泄漏。

需要覆盖到

  • eof_server.phpeof_client.php,测试EOF协议解析
  • pkg_server.phppkg_client.php,测试Length协议解析
  • slow_task.php 测试大量task投递
  • slow_client.php 测试大量客户端数据发送

代码审查

PUSH代码后,发送代码review请求到项目组,要求其他成员进行交叉review

文档编写

设计到特性变更问题,需要编写文档。