zlog 占cpu

来源:互联网 发布:b超单上的数据 编辑:程序博客网 时间:2024/04/29 22:34

压力测试中, zlog级别设置比较低, log输出比较多, 已经很明显的造成cpu占用率上升; 同时写磁盘居多,io高, 导致load升高。



基本功能性问题排除后, 压力时,将log级别调高。



另外, 自己实现的memory pool, 发现比较影响性能, 连简单的new/delete都比不上, 为什么?

memory pool 实现分配好几种固定大小的内存块; 需要时从中获取,用完归还。 使用pthread_mutex_lock 做进程内的多线程互斥。

后来在压力测试过程中, 发现不使用memory pool时吞吐量反而上去了一些


直接使用new/delete 也没有发现内存碎片问题, 性能上也还行; 实在觉得必要, 可以使用tcmalloc.

使用tcmalloc的方法:

最后一个-ltcmalloc


tcmalloc  检查内存泄露

env HEAPCHECK=normal ./program  ../config.xml

valgrind --leak-check=full ./program ../config.xml 


测试中发现某些时候内存激增, 但是前后端模块的cpu都比较低, 原来是压力程序的请求都在模块中堆积,导致内存上涨。


为什么前后端模块cpu都比较低, 请求仍然在队列中排队呢?



0 0