MySQL和tcmalloc

來源:互聯網
上載者:User

在網上看到不少資料說,用google-perftools裡的tcmalloc替代glibc的malloc,可以極大改善MySQL在高並發下的效能。在這些資料裡提到,有兩種辦法可以讓tcmalloc生效。一是編譯連結時加上-ltcmalloc參數;二是使用LD_PRELOAD環境變數,載入libtcmalloc.so動態庫檔案,替換掉glibc中的malloc。大部分資料似乎都是用第二種辦法,看似簡單,但是據我所知,很多人在編譯安裝MySQL的時候,都會加上這樣的參數:
--with-mysqld-ldflags=-all-static,也就是會採用靜態連結的方式,目的是提高程式的執行效率,這樣一來,LD_PRELOAD還能起作用嗎?

穩妥起見,還是在編譯時間加進去比較好。但是編譯的時候又碰到問題,試了好幾次才成功,記錄在這裡方便自己,也方便以後同樣碰到這個問題的人。

以前的configure執行的指令碼

CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors /
            -fno-exceptions -fno-rtti" ./configure /
            --prefix=/usr/local/mysql --enable-assembler /
            --with-charset=utf8 /
            --with-extra-charsets=gbk,gb2312,latin1 /
            --localstatedir=/opt/mysql-data /
            --with-mysqld-user=mysql --enable-large-files --with-big-tables /
            --without-debug /
            --with-mysqld-ldflags=-all-static /
            --with-client-ldflags=-all-static /
            --enable-thread-safe-client

現在執行的指令碼

CFLAGS="-O3" CXX=g++ CXXFLAGS="-O3 -felide-constructors /
            -fno-exceptions -fno-rtti" ./configure /
            --prefix=/usr/local/mysql --enable-assembler /
            --with-charset=utf8 /
            --with-extra-charsets=gbk,gb2312,latin1 /
            --localstatedir=/opt/mysql-data /
            --with-mysqld-user=mysql --enable-large-files --with-big-tables /
            --without-debug /
            --with-mysqld-ldflags="-all-static -ltcmalloc -lstacktrace"/
            --with-client-ldflags=-all-static /
            --enable-thread-safe-client

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.