Google PerfTools 설치 및 이 를 이용 하여 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 라 이브 러 리 를 설치 해 야 합 니 다. 방법 을 보 세 요.
- [root@lvs ~]# uname -a
- Linux lvs.master 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux
- [root@lvs ~]#
이것 은 나의 환경 이 32 명의 환경 이라는 것 을 나타 낸다.그 러 니까 libunwind 설치 방법 은 관리 들 이 직접 찾 아 봐.(^O^)/
1. google - perftools 설치
- [root@lvs pkgs]# wget http://gperftools.googlecode.com/files/google-perftools-1.10.tar.gz
- [root@lvs google-perftools-1.10]# ./configure
- [root@lvs google-perftools-1.10]# make && make install
- [root@lvs google-perftools-1.10]#echo “/usr/local/lib” > /etc/ld.so.conf.d/usr_local_lib.conf
- [root@lvs google-perftools-1.10]# ldconfig
다시 컴 파일 nginx
- [root@lvs nginx-0.8.53]# ./configure --with-google_perftools_module --with-http_stub_status_module
- [root@lvs nginx-0.8.53]# make && make install
3. google - perftools 에 스 레 드 디 렉 터 리 추가
- [root@lvs nginx]# mkdir /tmp/tcmalloc
- [root@lvs nginx]# chmod 0777 /tmp/tcmalloc/
4. nginx 프로필 수정
- [root@lvs nginx]# vim /usr/local/nginx/conf/nginx.conf
- :
- google_perftools_profiles /tmp/tcmalloc;
-
- nginx:
- [root@lvs nginx]# ps ax | grep nginx | grep -v grep | awk '{print $1}' | xargs kill -9
- [root@lvs nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
여기 서 나 는 오류 알림 을 만 났 다.
- [root@lvs nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- /usr/local/nginx/sbin/nginx: error while loading shared libraries: libprofiler.so.0: cannot open shared object file: No such file or directory
- [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 파일 에 오류 가 발생 했 습 니 다.고 쳐 서 정상 이 야.여러분 도 저 와 같은 잘못 을 발견 하면...
파일 이 정상 인지 손 으로 확인 해 보 세 요.
- [root@lvs lib]# /usr/local/nginx/sbin/nginx -V
- nginx version: nginx/0.8.53
- built by gcc 4.1.2 20080704 (Red Hat 4.1.2-46)
- configure arguments: --with-google_perftools_module --with-http_stub_status_module
5. 검증:
- [root@lvs lib]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- [root@lvs lib]# lsof -n | grep tcmalloc
- nginx 22171 nobody 10w REG 8,2 0 985587 /tmp/tcmalloc.22171
- [root@lvs lib]# head /usr/local/nginx/conf/nginx.conf
- user nobody;
- worker_processes 1;
하나의 스 레 드 에 기록 파일 이 있 을 것 입 니 다. 제 가 하나의 스 레 드 만 열 었 기 때문에 기록 파일 만 있 습 니 다.
구 글 - perftools 를 사용 하여 최적화 하 는 설정 방법 이 소개 되 었 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.