高性能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上的控制文件的双 ...
随机推荐
- Golang类型转换
类型转换 1.int转string strconv.Itoa(i) 2.string转int i, err = strconv.Atoi(s) 或者 i, err = ParseInt(s, 10, ...
- ZooKeeper集群搭建中的Connection refused而导致的启动失败
1. 前言 每一次搭建集群环境都像一次战斗,作战中任何一个细节的出错都会导致严重的后果,所以搭建中所需要做的配置如系统配置.网络配置(防火墙记得关).用户权限.文件权限还有配置文件等等内容,都必须非常 ...
- CSS3中border-radius、box-shadow与gradient那点事儿
一.border-radius border-radius用于添加圆角边框,用处非常广泛. 1)一个值,代表了四个角 .radius-one { /* Safari 3-4, iOS 1-3.2, A ...
- 关于WebGIS开源解决方案的探讨
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 公司目前的多数项目采用的是ArcGIS产品+Oracle+W ...
- Kooboo CMS - @Html.FrontHtml().Meta()详解。
下面是代码: public virtual IHtmlString Meta() { AggregateHtmlString htmlStrings = new AggregateHtmlString ...
- Nancy之ModelBinding(模型绑定)
过年前的最后一篇博客,决定留给Nancy中的ModelBinding 还是同样的,我们与MVC结合起来,方便理解和对照 先来看看MVC中简单的ModelBinding吧 // POST: Author ...
- SQL 循环语句 while 介绍 实例
declare @i int begin insert into test (userid) values(@i) end --------------- while 条件 begin 执行操作 en ...
- 【NopCommerce源码架构学习-一】--初识高性能的开源商城系统cms
很多人都说通过阅读.学习大神们高质量的代码是提高自己技术能力最快的方式之一.我觉得通过阅读NopCommerce的源码,可以从中学习很多企业系统.软件开发的规范和一些新的技术.技巧,可以快速地提高我们 ...
- autocad2008+C#2008开发中设置自动加载dll
一.复制编译后的dlll路径,比如我的是D:\zjy\cad开发\学习\宗地图\bin\Debug\zd.dll 二.随便找个地方新建一个记事本,在记事本中写入以下内容: (command " ...
- python基础学习笔记2
词典 词典(dictionary)与列表相似,也可以存储多个元素.存储多个元素的对象称为容器(container); 常见的创建词典的方法: >>>dic = {'tom':11 ...