Google PerfTools 설치 및 이 를 이용 하여 Nginx 최적화

nginx 의 성능 최 적 화 를 배 워 야 하기 때문에 인터넷 에서 'TCMalloc 를 이용 하여 nginx 의 성능 최적화' 와 'google - perftool 을 사용 하여 nginx 의 성능 최적화' 라 는 글 을 찾 아 냈 다.각각 이 문장 들 을 보 니 같은 내용 이 었 다.
     사실 구 글 - perftools 는 네 가지 도 구 를 포함 하 는데 그것 이 바로 TCMalloc, 힙 - checker, 힙 - profiler 와 cpu - profiler 이다. TCMalloc 는 구 글 - perftools 의 도구 로 메모리 분배 의 효율 과 속 도 를 최적화 하고 높 은 병행 상황 에서 메모 리 를 잘 제어 하 는 데 도움 을 준다.
     my sql 과 nginx 성능 최적화 방안 에서 대부분의 튜 토리 얼 은 google - perftools 가 제공 하 는 TCMalloc 도 구 를 사용 합 니 다. TCMalloc 는 메모리 배분 에 있어 효율 과 속도 가 malloc 보다 훨씬 높 습 니 다.그러나 nginx 의 메모리 사용량 은 사실 매우 적다. 한 프로 세 스 가 차지 하 는 메모 리 는 대략 12M 정도 이기 때문에 구 글 - perftools 가 nginx 에 대한 최적화 효과 가 뚜렷 하지 않 을 수 있다.
     하지만 이 기술 이 있 으 니 배 워 서 쓰 자.
     설치 설정 google - perftools
     설치 하기 전에 64 비트 인지 32 비트 인지 확인 해 야 합 니 다. 64 비트 OS 라면 google - perftools 를 설치 하기 전에 libunwind 라 이브 러 리 를 설치 해 야 합 니 다. 방법 을 보 세 요.
 

  
  
  
  
  1. [root@lvs ~]# uname -a 
  2. Linux lvs.master 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux 
  3. [root@lvs ~]#  

이것 은 나의 환경 이 32 명의 환경 이라는 것 을 나타 낸다.그 러 니까 libunwind 설치 방법 은 관리 들 이 직접 찾 아 봐.(^O^)/
 1. google - perftools 설치
 

  
  
  
  
  1. [root@lvs pkgs]# wget http://gperftools.googlecode.com/files/google-perftools-1.10.tar.gz 
  2. [root@lvs google-perftools-1.10]# ./configure  
  3. [root@lvs google-perftools-1.10]# make  && make install 
  4. [root@lvs google-perftools-1.10]#echo “/usr/local/lib” > /etc/ld.so.conf.d/usr_local_lib.conf 
  5. [root@lvs google-perftools-1.10]# ldconfig 

다시 컴 파일 nginx
 

  
  
  
  
  1. [root@lvs nginx-0.8.53]# ./configure  --with-google_perftools_module --with-http_stub_status_module 
  2. [root@lvs nginx-0.8.53]# make && make install 

3. google - perftools 에 스 레 드 디 렉 터 리 추가
 

  
  
  
  
  1. [root@lvs nginx]# mkdir /tmp/tcmalloc 
  2. [root@lvs nginx]# chmod  0777 /tmp/tcmalloc/ 

4. nginx 프로필 수정
 

  
  
  
  
  1. [root@lvs nginx]# vim /usr/local/nginx/conf/nginx.conf 
  2. : 
  3. google_perftools_profiles /tmp/tcmalloc; 
  4.  
  5. nginx: 
  6. [root@lvs nginx]# ps ax  | grep nginx | grep -v grep   | awk  '{print $1}' | xargs  kill -9 
  7. [root@lvs nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 

 
여기 서 나 는 오류 알림 을 만 났 다.

  
  
  
  
  1. [root@lvs nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
  2. /usr/local/nginx/sbin/nginx: error while loading shared libraries: libprofiler.so.0: cannot open shared object file: No such file or directory 
  3. [root@lvs nginx]# 

알 고 보 니 / etc / ld. so. conf. d / usrlocal_lib.conf 이 파일 에 문제 가 생 겼 습 니 다. 이 단계 "echo" “/usr/local/lib” > /etc/ld.so.conf.d/usr_local_lib.conf”
저 는 인터넷 글 을 복 사 했 는데 / etc / ld. so. conf. d / usrlocal_lib. conf 파일 에 오류 가 발생 했 습 니 다.고 쳐 서 정상 이 야.여러분 도 저 와 같은 잘못 을 발견 하면...
파일 이 정상 인지 손 으로 확인 해 보 세 요.
 

  
  
  
  
  1. [root@lvs lib]# /usr/local/nginx/sbin/nginx -V 
  2. nginx version: nginx/0.8.53 
  3. built by gcc 4.1.2 20080704 (Red Hat 4.1.2-46) 
  4. configure arguments: --with-google_perftools_module --with-http_stub_status_module 

5. 검증:
 

  
  
  
  
  1. [root@lvs lib]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  
  2. [root@lvs lib]# lsof -n  | grep tcmalloc 
  3. nginx     22171    nobody   10w      REG        8,2        0     985587 /tmp/tcmalloc.22171 
  4. [root@lvs lib]# head /usr/local/nginx/conf/nginx.conf 
  5. user  nobody; 
  6. worker_processes  1;  

하나의 스 레 드 에 기록 파일 이 있 을 것 입 니 다. 제 가 하나의 스 레 드 만 열 었 기 때문에 기록 파일 만 있 습 니 다.
구 글 - perftools 를 사용 하여 최적화 하 는 설정 방법 이 소개 되 었 습 니 다.

좋은 웹페이지 즐겨찾기