高性能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服务器构建实战笔记的更多相关文章
- 优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
优化系统资源ulimit<高性能Linux服务器构建实战:运维监控.性能调优与集群应用> 假设有这样一种情况,一台Linux 主机上同时登录了10个用户,在没有限制系统资源的情况下,这10 ...
- 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
优化Linux内核参数/etc/sysctl.conf sysctl <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...
- 《高性能Linux服务器构建实战》——第1章轻量级HTTP服务器Nginx
第1章 轻量级HTTP服务器Nginx本章主要介绍Nginx的配置管理和使用.作为一个轻量级的HTTP服务器,Nginx与Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连 ...
- 高性能Linux服务器 第6章 ext3文件系统反删除利器ext3grep extundelete工具恢复rm -rf 误删除的文件
高性能Linux服务器 第6章 ext3文件系统反删除利器ext3grep extundelete工具恢复rm -rf 误删除的文件 只能用于ext3文件系统!!!!!!!高俊峰(高性能Linux ...
- 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群
高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...
- 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化
高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...
- 高性能linux服务器内核调优
高性能linux服务器内核调优 首先,介绍一下两个命令1.dmesg 打印系统信息.有很多同学们服务器出现问题,看了程序日志,发现没啥有用信息,还是毫无解决头绪,这时候,你就需要查看系统内核抛出的异常 ...
- 高性能Linux服务器
TCP/IP协议族——高性能Linux服务器编程 现在 Internet 使用的主流协议族是 TCP/IP 协议族,它是一个分层.多协议的通信体系. TCP/IP 协议族体系结构以及主要协议 TC ...
- 常见的linux服务器构建
Linux常用服务器构建-ftp服务器 ftp服务器 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”. 用于Internet上的控制文件的双 ...
随机推荐
- iOS开发之使用XMPPFramework实现即时通信(三)
你看今天是(三)对吧,前面肯定有(一)和(二),在发表完iOS开发之使用XMPPFramework实现即时通信(一)和iOS开发之使用XMPPFramework实现即时通信(二)后有好多的小伙伴加我Q ...
- PHP中有关正则表达式的函数集锦
之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...
- 用Spire.doc来合并邮件
用Spire.doc来合并邮件 让我们想象一下这样的场景:你在一家IT公司上班.某天公司的某一产品大幅度升级了.然后你需要通知所有的客户.这真是很长的名单.一个个的通知他们是有点蠢的,因为这要花费 ...
- swift中Range的使用书名
在swift中Range有两种用法 1.把字符串转换成NSString来使用 //这里是把swift的字符换转换成了nsstring 使用 let str :NSString = text.strin ...
- String的按值传递,java传参都是传值
java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? String和int参数传递是按值传递还是引用传递? 一道面试题目,String的传递: public String change( ...
- [Java 进阶]Java中的国际化
背景知识 现代软件开发,往往做出的应用程序不止给一个国家的人去使用.不同国家的人往往存在语言文字不通的问题.由此产生了国际化(internationalization).多语言(multi-langu ...
- 一步一步开发Game服务器(二)完成登陆,聊天
我知道这样的文章在博客园已经多的大家都不想看了,但是这是我的系列文章开始,请各位大神见谅了. 多线程,线程执行器,(详见),socket通信相关 (详见) 本人blog相关文章测试代码,示例,完整版s ...
- 详解Javascript的继承实现
我最早掌握的在js中实现继承的方法是在w3school学到的混合原型链和对象冒充的方法,在工作中,只要用到继承的时候,我都是用这个方法实现.它的实现简单,思路清晰:用对象冒充继承父类构造函数的属性,用 ...
- javascript作用域中令你意想不到的问题
大多数类c的语言,由一对花括号封闭的代码块就是一个作用域.但是javascript的作用域则是通过函数来定义.在一个函数中定义的变量只对这个函数内部可见,我们称为函数作用域. 1.在函数中引用一个变量 ...
- 学习笔记(二)——MVC扩展(渲染视图)
如何渲染视图? 我以近乎的视图引擎为例总结了一下,近乎中的ThemedViewEngine类,就是重写后的的视图引擎.ThemedViewEngine类主要对FindPartialView和FindV ...