我理解的nginx的优化问题

nginx的外部及内部优化问题:

软件外部:我们首先从外部说起,外部主要是搭建nginx的物理设施。

静态页面:

1.磁盘的读写速度。
因为静态网页主要是从磁盘中调取。
2.网卡的带宽。
如果你电信宽带是1000M的网速,但是你的网卡只支持10M的速度。这是万万不可采取的。

动态页面:

1.磁盘的读写速度。
2.网卡的带宽。
3.cup的性能。
因为动态网页是由脚本构成的。每次访问动态网页其实是cup运行脚本。这里cup性能越好,访问速度越快。
当然脚本的精简度,也能影响到速度。

软件内部的设置:这个软件配置文件里的设置。

1.并发量的设置。

把nginx的cup使用数调到与服务器的cpu数相同。使服务器全cpu运行

worker_processes  电脑的cpu数;    nginx配置文件里有,不需要手打

要把每个worker的最大支持并发数调到最大

worker_connection 65535;   调到2的16次方

2.内核中的参数的设置.

ulimit -Hn 文件数  硬性设置(临时)
ulimit -Sn 文件数  软性设置(临时)

永久设置文件:/etc/security/limits.conf
*      soft    nofile  文件数   软
*      hard    nofile  文件数  硬  
这里的*是带表所有用户的意思,如果把*改为tom,则对tom单独设置.
nofile 中 no 是数字的意思. 

ab -c 人数 -n 文件数 http://ip/    这是做测试用的命令,注意:文件数一定是人数的整数倍,
                                  文件数不能超过20000,否则会报语法错误. 

3.对url地址长度的设置. 也就是常见的414报错

client_header_buffer_size 1k;  默认为1k
large_client_header_buffers 4 4k; 最大请求给它4*4=16k空间
 注意:不要给它太大空间,因为每多一个访问就会占用一个16k

4.定期清除静态页面的缓存

location ~* (jpg|png)${
	   expires 30d ; 每30天清空一次以jpg png结尾的文件
   	      }

5.日志的切割. 便于日后的日志数据分析

 mv access.log access.log.old   把原本的日志文件改个名字
 kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)   
 告诉nginx我把日志文件拿走了,你必须在创建一个新的日志文件.
 如果不执行这一步,系统将还会把日志存储到改名后的文件中.

6.利用gzip给网页进行压缩处理

gzip on;   打开
gzip_min_length 1k; 1k以下的不使用gzip
gzip_comp_level 4;  1-10 数值越大压缩越完整,但速度越慢,时间越长。
gzip_types  文件类型  什么文件需要压缩,就添加什么文件类型

7.服务器内存缓存

http { open_file_cache      max=2000  inactive=20s;   
     inactive是无人访问时  对服务器而言,给客户端断开不再让客户端占用我的资源 
                                         对客户机而言.没人访问时就是每20秒刷新一次     
open_file_cache_valid    60s;  
		这个60s是你一直访问我也60s时给你刷新一次
open_file_cache_min_uses 5;   
		访问超过5次被缓存
open_file_cache_errors   off;
		缓存如果被关闭了,不要向日志文件里发出报错
         date'4/21/0:56'
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值