Nginx高性能Web服务器实战教程--读书笔记(五)

第八章 高可用负载均衡集群
1 Nginx配置优化
1)服务器准备:192. 168.78.3 192. 168.78.128
2)使用ApacheBench工具
在客户端切换到Apache安装目录的bin目录,该目录下的ab程序就是ApacheBench工具。具体使用示例如下:
在这里插入图片描述
解释:ab命令的选项-n表示发送的请求总数,-c表示并发数,后面的网址是请求的服务器地址。ApacheBench目前只能使用http1.0协议进行请求。
又一个示例:
在这里插入图片描述
查看当前最大文件打开数:
在这里插入图片描述
修改Linux系统最大文件打开数,并再次测试
在这里插入图片描述
3)优化Nginx连接数
修改nginx.conf添加如下配置:
在这里插入图片描述
worker_processes指令用于指定工作进程的个数,设置为auto时Nginx将根据CPU的核心数来控制。worker_rlimit_nofile用于设置最多打开的文件数量。worker_connections 用户设置每个工作进程可接收的连接数,multi_accept表示是否允许一个工作进程响应多个请求。
Nginx支持select/poll/queue/epoll等多种类型的连接处理方式,在默认情况下会选择最合适系统的方式。将错误日志级别设置为info时,可以查看当前Nginx使用的方法:
在这里插入图片描述
从上述操作可以看出Nginx在当前系统中使用了epoll事件方式。

2 客户端请求限制
1)限制同一个ip的并发数,在conf/nginx.conf配置文件中进行如下配置即可:
在这里插入图片描述
解释:limit_conn_zone指令用于开辟一个共享内存空间保存客户端ip,空间名称为perip,空间大小为10m;limit_conn指令用于限制连接数量;预定义变量$binary_remote_addr保存了用二进制表示的当前客户端IP地址。上述配置生效后,Nginx将对于同一个IP地址只允许10个并发连接,当超过时返回(503)错误。此外,limit_conn指令也可以在server和location块中使用,用于实现不同级别的控制。
测试如下:
在这里插入图片描述

2)限制虚拟主机的并发数
在使用limit_conne_zone指令时,也可以用共享内存空间保存虚拟主机名($server_name),实现对虚拟主机的并发数控制,配置如下:
在这里插入图片描述
测试结果如下:
在这里插入图片描述
3)限制响应的传输速率
在这里插入图片描述
解释:limit_rate_after表示文件大小超过10m后,将速率限制在100k,去掉该指令后,无论文件大小为多大,都将限制在100k。
测试如下:
在这里插入图片描述
3 浏览器缓存优化
在这里插入图片描述
注意:即使服务器没有设置Expores浏览器也会基于常见的静态资源扩展名自动缓存;但若设置expires,可以使缓存具有更长的有效期。当服务器需要更新静态资源时,可以修改HTML中引入的地址,利用 url参数让你浏览器重新请求静态资源,如改为style.css?ver=1.2

4 LNMP分布式集群(略)

5 Nginx_keepalived高可用方案(略)

猜你喜欢

转载自blog.csdn.net/musi_m/article/details/88806737