开发流程规范化
优质
小牛编辑
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.php
和eof_client.php
,测试EOF
协议解析pkg_server.php
和pkg_client.php
,测试Length
协议解析slow_task.php
测试大量task投递slow_client.php
测试大量客户端数据发送
代码审查
PUSH代码后,发送代码review请求到项目组,要求其他成员进行交叉review
文档编写
设计到特性变更问题,需要编写文档。