高性能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开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流
上篇博客的实例是自带的UICollectionViewDelegateFlowLayout布局基础上来做的Demo, 详情请看<iOS开发之窥探UICollectionViewControlle ...
- MySQL分区表的管理~1
一.如何管理RANGE和LIST分区 以该分区表为例 CREATE TABLE members ( id INT, fname ), lname ), dob DATE ) PARTITION BY ...
- Equals和ReferenceEquals
稍微分析下一下两个方法的区别: public static bool Equals(object objA, object objB); public static bool ReferenceEqu ...
- 【大结局】《从案例中学习JavaScript》之酷炫音乐播放器(四)
这是之前写的用H5制作的音乐播放器,前三节其实已经做得差不多了,音轨的制作原理已经在上一节说明,不过一直还没有和音乐对接. 本章作为该系列的一个完结篇,我会专门把动态音轨的实现代码贴出来,demo地址 ...
- 细说ASP.NET Core静态文件的缓存方式
一.前言 我们在优化Web服务的时候,对于静态的资源文件,通常都是通过客户端缓存.服务器缓存.CDN缓存,这三种方式来缓解客户端对于Web服务器的连接请求压力的. 本文指在这三个方面,在ASP.NET ...
- 创建实体数据模型【Create Entity Data Model】(EF基础系列5)
现在我要来为上面一节末尾给出的数据库(SchoolDB)创建实体数据模型: SchoolDB数据库的脚本我已经写好了,如下: USE master GO IF EXISTS(SELECT * FROM ...
- [Tool] csdn客户端开发(非官方版)
偶尔间看到一篇博客[清山博客]里讲述了他自己开发的一个CSDN博客客户端,并去下载体验了一下,然后就自己手痒也要开发一下 先看看结果图: 在文章列表里,鼠标右键可以操作[置顶.删除.评论权限]: 下面 ...
- jQuery全屏动画焦点图
效果:http://hovertree.com/texiao/jqimg/3/ 本效果使用 jquery-1.8.3.min.js,如需使用1.12.3版本,需进行修改. 全部版本jQuery下载:h ...
- C++_系列自学课程_第_9_课_C语言风格字符串_《C++ Primer 第四版》
前面说了写关于数组和指针的内容,这次在这里讨论一下字符串,讨论一下C语言风格的字符串. 在C语言里面我们利用字符数组来对字符串进行处理, 在C++里面我们前面说过一种类类型string可以对字符串进行 ...
- java web学习总结(十) -------------------HttpServletRequest对象
一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...