首页 > 代码库 > 高性能Linux服务器构建实战笔记
高性能Linux服务器构建实战笔记
一、 web应用篇
1 HTTP服务器Nginx
1.1 性能上、功能上、安装上与Apache对比
l 性能上占用系统资源少,支持并发高
l 功能上正反代理服务器和负载均衡服务器
l 安装、配置简单
1.2 Nginx的优势
l Web服务器:处理静态文件、索引文件、自动索引效率高
l 实现无缓存的反响代理加速
l 负载均衡
l 高并发(50000vuser)且占用内存很低
l 安全性Nginx保持10000个没用活动的连接(占2.5M内存)针对DOS攻击
l 热部署配置升级无需重新启动
1.3 正向代理与反向代理的区别
l 正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
l 反向代理的典型用途是将 防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。
1.4 性能优化
l 取消debug模式(18页)
Nginx源码解压后,修改auto/cc/gcc文件
#debug
CFLAGS=”GFLAGS -g”
注释或删除这俩行,即取消debug模式
l TCMalloc
相关文章:http://www.linuxidc.com/Linux/2013-04/83197.htm
l Nginx内核参数优化(21页)
相关文章:http://www.linuxidc.com/Linux/2013-04/83198.htm
1.5 搭建Nginx + Java 环境(32页)
l 一静一动
将静态请求交给Nginx,动态请求交给后端Tomcat
l 负载均衡
Nginx自带负载均衡功能进行多台tomcat服务器负载均衡
2 HTTP加速器Varnish
2.1 Varnish的优势
l 反向代理服务器和HTTP加速器
基于内存缓存,重启后数据消失
利用虚拟内存方式,IO性能好
0-60s精确缓存时间
VCL配置管理灵活
32G最大缓存2GB
强大的管理功能(top stat admin list)
状态结构清晰
二叉堆管理缓存文件
2.2 与squid对比
l 都是开源反向代理服务器
l Varnish稳定性高于squid
l Varnish访问速度更快,直接从内存中
l 支持更多并发连接,TCP连接释放比squid快
l 通过管理端口使用正则表达式批量清除部分缓存
l 缺点:高并发CPU/IO/内存开销高于squid
l Varnish进程一旦挂起、崩溃或者重启,缓存数据完全释放,此时所有请求都会被发送到后端服务器,对后端服务器造成很大压力。
2.3 Varnish优化
l Linux内核优化 (58页)
l 系统资源优化 (59页)
Ulimit
l Varnish参数优化(61页)
3 Memcached应用
二、 运维监控与性能优化
1 运维监控利器Nagios
1.1 Nagios特点
l 成本低、结构简单、可维护性强
l 可运行在Linux、Unix平台,同时提供web界面监控多台主机或服务运行状态
l 可监控本地、远程主机资源(内存、进程、磁盘等)
l 可监控网络服务资源(HTTP/PING/FTP/SMTP/POP3等)
l 允许用户编写自定义插件来监控特定服务
l 异常报警(邮件、短信)
l 自定义事件处理程序,当主机或服务出现故障时自动调用指定处理程序
1.2 下载安装nagios (http://yunpan.cn/cgEJDs6uvetyn 提取码 7ad9)
安装包:nagios-3.2.0.tar (217页)
插件 :nagios-plugins-1.4.14.tar (218页)
汉化 :nagios-cn-3.2.0.tar (218页)
Apache:httpd-2.0.63.tar (219页)
PHP :php-5.3.2.tar (219页)
./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/ local/libxml2
待续 .....
高性能Linux服务器构建实战笔记