zoukankan      html  css  js  c++  java
  • 使用tcmalloc替换系统的malloc

    https://blog.csdn.net/educast/article/details/79166553?utm_source=blogxgwz0

    今天对服务器进行压测,模拟的请求量到4万次/分的时候,进程的CPU占用就已经达到400%了(也就是把四个核都占到100%)。其实模拟的请求数据都是单一的,不会因为BUG的原因导致CPU过高。怀疑是代码里的STL用得过多,加之ttserver和memcached大量的读操作——大量的小内存分配可能带来全局的锁竞争,从而可能使得CPU过高。

    之前听说过google的tcmalloc是一个很好的线程内的内存分配器,能够提高内存分配的性能。正好今天试试能不能改善我的代码的性能。
    安装的过程如下:
    #1、到google下载代码:
    cd /home/ahfu/temp
    wget https://gperftools.googlecode.com/files/gperftools-2.1.tar.gz

    #解压
    tar -zxvf google-perftools-1.4.tar.gz
    #看看说明
    cd google-perftools-1.4
    ./configure -h
    #选择简单的安装
    mkdir -p /home/ahfu/temp/tcmalloc
    ./configure --disable-cpu-profiler --disable-heap-profiler --disable-heap-checker --disable-debugalloc --enable-minimal --disable-shared
    make && make install
    #在makefile里面加入一行就行
    LIB = "/home/ahfu/temp/tcmalloc/lib/libtcmalloc_minimal.a"
    #  g++ .....   ${LIB}

    再进行压测!
    大吃一惊!
    请求量模拟到28万次/分后,CPU占用还不到20%!!!

  • 相关阅读:
    文件比较运算符
    中山慧海人才市场9月份 现场招聘会预告
    80后智能科技公司诚聘业务人员
    元豪路灯厂诚聘
    对Discuz的简单认识
    discuz阅读权限的设置作用
    个人对织梦系统的认识
    awvs的用法
    cain使用方法
    CCNA笔记(1)
  • 原文地址:https://www.cnblogs.com/fanlinglong/p/10115213.html
Copyright © 2011-2022 走看看