天天看點

高性能的伺服器的架設------硬體

伺服器叢集+負載均衡來支撐.

大的認識-------既然響應是不可避免的,我們要做的是把工作内容”平均”分給每台伺服器.

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

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: 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來響應中

高性能的伺服器的架設------硬體

繼續閱讀