centos 6.3 64bit 用tcmalloc优化nginx

简介:

 一,tcmalloc全称thread-caching malloc,是谷歌开发的开源工具。与标准的glibc库的malloc比。tcmalloc在内存分配效率和速度比malloc高。至于为什么比malloc,有兴趣可以参考。下面这个网址。

 
 
  1. http://www.mysqlops.com/2011/06/14/google-tcmalloc-malloc.html#more-737 

二,现在开始介绍在64bit centos 6.3的版本中让nginx使用tcmalloc。需要用到的软件都已经上传到附件中。
三,安装libunwind库。

 
 
  1. # tar xf libunwind-1.0.tar.gz 
  2. # tar xf libunwind-1.0 
  3. #CFLAGS=-fPIC ./configure添加编译参数 
  4. # make CFLAGS=-fPIC 
  5. # make CFLAGS=-fPIC install 
这样执行会出现如下错误:
 
 
  1. libtool: install: error: relink `libunwind-setjmp.la' with the above command before installing it 
  2. make[3]: *** [install-libLTLIBRARIES] Error 1 
  3. make[3]: Leaving directory `/down/libunwind-1.0/src' 
  4. make[2]: *** [install-am] Error 2 
  5. make[2]: Leaving directory `/down/libunwind-1.0/src' 
  6. make[1]: *** [install] Error 2 
  7. make[1]: Leaving directory `/down/libunwind-1.0/src' 
  8. make: *** [install-recursive] Error 1 

产生这种问题的原因:autotools兼容性的问题,运行命令autoreconf -i -f  ,在重新编译安装下。

 
 
  1. #autoreconf -i -f 
  2. #make clean 
  3. #CFLAGS=-fPIC ./configure 
  4. #make  CFLAGS=-fPIC  
  5. #make  CFLAGS=-fPIC install 

四,安装gpperftools:

 
 
  1. #tar xf  gperftools-2.0.tar.gz 
  2. # cd gperftools-2.0 
  3. #./configure  
  4. #make && make install  
这样安装会会报如下错误:
 
 
  1. cc1plus: warning: unrecognized command line option "-Wno-unused-result" 
  2. ake: *** [stacktrace.lo] Error 1 

为什么出现在这种错误,因此是64bit系统,至于更深度的解释,安装说明中有。下面重新编译。

 
 
  1. #make clean  
  2. #./configure  --enable-frame-pointers  
  3. #make &&  make install  
  4. #echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf 
  5. #ldconfig 

五,编译pcre,使nginx支持http rewrite。

 
 
  1. # tar xf pcre-8.10.tar.gz  
  2. # cd pcre-8.10 
  3. # ./configure 
  4. # make && make install 

六,编译nginx

 
 
  1. # tar xf nginx-1.2.3.tar.gz  
  2. # ./configure  \
  3. --with-http_ssl_module \ 
  4.   --with-http_flv_module \ 
  5.   --with-http_stub_status_module \ 
  6.   --with-http_gzip_static_module \ 
  7.   --http-client-body-temp-path=/var/tmp/nginx/client/ \ 
  8.   --http-proxy-temp-path=/var/tmp/nginx/proxy/ \ 
  9.   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \ 
  10.   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ 
  11.   --http-scgi-temp-path=/var/tmp/nginx/scgi \ 
  12.   --with-pcre \ 
  13.   --with-google_perftools_module 
  14. # make && make install 

7,为gperftools创建线程目录

 
 
  1. #mkdir /tmp/tcmalloc 
  2. #chmod 0777 /tmp/tcmalloc 

8,修改nginx的配置文件

 
 
  1. #vim /usr/local/nginx/conf/nginx.conf 
  2. #pid        logs/nginx.pid; 
  3. google_perftools_profiles /tmp/tcmalloc;添加这一行 

9,启动nginx,并验证tcmalloc有没有正常加载

 
 
  1. # /usr/local/nginx/sbin/nginx 
  2. # lsof -n |grep tcmalloc 
  3. nginx      1893    nobody    9w      REG              253,0        0      43018 /tmp/tcmalloc.1893 
  4. nginx      1894    nobody   11w      REG              253,0        0      43016 /tmp/tcmalloc.1894 

至此已经替换成功。










本文转自 deng304749970 51CTO博客,原文链接:http://blog.51cto.com/damondeng/992645,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
应用服务中间件 Linux 网络安全
如何在 CentOS 7 上为 Nginx 创建自签名 SSL 证书
如何在 CentOS 7 上为 Nginx 创建自签名 SSL 证书
192 1
|
1月前
|
缓存 前端开发 JavaScript
|
1月前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
1月前
|
缓存 监控 负载均衡
nginx相关配置及高并发优化
Nginx的高并发优化是一个综合性的过程,需要根据具体的业务场景和硬件资源量身定制。以上配置只是基础,实际应用中还需根据服务器监控数据进行持续调整和优化。例如,利用工具如ab(Apache Benchmarks)进行压力测试,监控CPU、内存、网络和磁盘I/O等资源使用情况,确保配置的有效性和服务的稳定性。
110 0
|
1月前
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
|
3月前
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
2月前
|
Linux
centos 安装etcd|待优化
centos 安装etcd|待优化
|
3月前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
58 2
|
3月前
|
应用服务中间件 Linux nginx
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
这篇文章介绍了在CentOS系统上使用Nginx源码包进行安装和配置的详细步骤,包括源码包的获取、解压、配置、编译、安装、启动验证以及注意事项。
361 0
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
|
3月前
|
缓存 前端开发 Java
"揭秘!SpringBoot携手Nginx,性能飙升秘籍大公开:轻松掌握配置优化,让你的应用快如闪电!"
【8月更文挑战第11天】随着微服务架构的发展,SpringBoot成为构建RESTful API的首选,Nginx则作为高性能的反向代理服务器提升应用性能。本文将探讨两者如何协同工作,包括Nginx的负载均衡策略、静态资源缓存及数据压缩配置;同时讨论SpringBoot的线程池优化、缓存策略及性能监控。通过这些方法,帮助开发者显著提高系统的整体性能和可用性。
149 1