11、Nginx大访问量优化整体思路练手

24 篇文章 0 订阅

高性能的服务器的架设

对于高性能网站 ,请求量大,如何支撑?

1、要减少请求

对于开发人员----合并css, 背景图片, 减少mysql查询等.

2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查询.

 

3: 利用cdn来响应请求

4: 最终剩下的,不可避免的请求----服务器集群+负载均衡来支撑.

所以,来到第4步后,就不要再考虑减少请求这个方向了.

而是思考如何更好的响应高并发请求.

大的认识-------既然响应是不可避免的,我们要做的是把工作内容”平均”分给每台服务器.

最理想的状态 每台服务器的性能都被充分利用.

 

服务器介绍:

 

服务器IP:

A 192.168.1.201

B 192.168.1.202

C 203

D204

 

Root: zixue.it

 

 

1台 A

RAM: 2G

HD: 500G

 

 

3台 B, C, D

RAM: 8G

Hd : 200G

 

 

 

 

步骤:

1:A号服务器

  1.1安装 mysql

    1.2并导入数据.

注意:先把表中的索引去掉,加快导入速度

 

2: C号服务器:

  2.1: 编译PHP

注意: enbale-fpm , with-mysql=mysqlnd   (编译成独立fpm进程,支持mysql,)

  2.2: 下载第3方的memcached扩展 编译进来

 

3: D号服:

  3.1 编译 memcached

 

4: B号服:

编译nginx ,并配置

Cd /app/pcre-8.12

./configure

Make && make install

 

Cd nginx-1.2.7

./configure --prefix=/usr/local/nginx --add-module=/app/ngx_http_consistent_hash-master

注:红线部分是nginx的第3方模块,需要自己下载.

 

 

安装统计模块,便于观察nginx的状态

./configure --prefix=/usr/local/nginx/ --add-module=/app/ngx_http_consistent_hash-master --with-http_stub_status_module

 

 

 

 

 

 

Php 安装配置

1 tar -xzvf  /path/’

2 cd /path/

3 .configure --prefix=/usr/local/php --

 

 

 

 

服务器集群与负载均衡搭建完毕

1:问题  C-->A 的mysql连接很慢

解决: my.cnf中的[mysqld]节点中,添加

skip-name-resolve   // 这句话使mysql连接时忽略解析域名,在制定Mysql权限时,只能根据IP限制,不能根据域名限制.

 

2: 问题  当memcache中没有相应的数据,从后台回调数据时,

http的状态码是404,(虽然内容正常),这样不利于SEO

解决: nginx/conf/nginx.conf

 error_page 404  =200 /callback.php;  // 这样 404被改写成200来响应中

 

 

压力测试:

模拟 前0-10万是热数据,

10-20万是冷门数据

 

请求热数据 0-10,请求9次

请求准予数据 请求1次,     -----100万次的请求.

 

 

优化思路:

nginx响应请求

1:建立socket连接

2: 打开文件,并沿socket返回.

 

排查问题,也要注意观察这两点,

主要从系统的dmesg ,和nginx的error.log来观察

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值