高性能的服务器的架设------硬件

服务器集群+负载均衡来支撑.

 

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

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

 

Web服务器  php mysql memcache  

 

A:xxxxxxxx.111     装有nginx服务器的   存放了静态的文件 静态资源   

B:xxxxxxxx.118      装有php-fpm进行解析php代码的服务器

C:xxxxxxxx.110      装有mysql数据库的 读  111—写,更新 删除

D:xxxxxxxx.108      装有memcached 数据库的  redis  

Ab  

一般的原则是  装有mysql的服务器 磁盘大一些 因为存储数据

装有nginx   php-fpm 和memcached的服务器 内存需要大一些

 

 

 

在阿里云上购买的服务器 1台 A

RAM(内存): 2G

带宽:5M,

CPU:2核

HD: 500G

 

10000万Pv   ip

(用来运行nginx/apache web服务器  访问静态文件 单台服务器访问静态文件可以并发10000(1s) 大约80%的用户访问在1s之内)这样可以说明nginx的性能是不错的  1000

如果加上mysql,php肯定是会慢的了,并发量也相应的会减少,还需要看当前这个网站的性质是什么,所谓的并发是不固定的。

一般能达到并发1500左右,相应时间大约75%左右在1s之内 就差不多

高性能的服务器的架设------硬件_第1张图片

步骤:

1: A号服:

编译nginx ,并配置

存放静态资源和静态页面的

 

 

2:B号服务器

  1.1安装 mysql

    存有大量的数据

 

3: C号服务器:

  2.1: 编译PHP

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

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

 

4: D号服:

  编译 memcached,运行memcached服务器

 

-----------------------------------------------------------分割线--------------------------------------------------------------------

以上是服务器集群的基本搭配基本与介绍,以下是配置文件的配置

 

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

1:问题  B-->C 的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来响应中

高性能的服务器的架设------硬件_第2张图片

 

 

你可能感兴趣的:(优化)