c++ 高并发中遇到的几个性能问题总结

1,单个请求时,耗时比较少4ms,并发量上来时,耗时15ms左右;

      --  gcc  编译时,使用-O2的选项;

2,在1的基础上,高并发时,耗时变为8ms左右;

     --   将代码中对象拷贝的地方改为指针拷贝;

3,在2的基础啊上,高并发时,耗时变为5ms左右,qps只能达到2000;

    --    将gcc 的 -pg 选项删除掉;

4,在3的基础上,高并发时,耗时变为3ms左右,但是qps 达到3100时,超时率变高,

     根据返回数据长度比较大的特点,查看了一下网卡(iftop -B)情况,达到带宽最大值;

    --  下一步使用protobuf或者先压缩,再发送;

5,在4的基础上,可以考虑将ptmalloc 改为jemalloc

猜你喜欢

转载自blog.csdn.net/zgb40302/article/details/85100924