445IT之家
首頁 運營策劃 推廣優化 網上賺錢 站長新聞 網站制作 站長雜談 網頁制作 服務器 編程 電腦相關 論壇
您現在的位置:首頁 >> 編程 >> PHP教程 >> 內容

PHP解決大并發、大流量、大存儲的基本思路

時間:2018-10-28 10:45:52 點擊:

  核心提示:一、判斷大型網站的標準:1、pv(page views)網頁的瀏覽量:概念:一個網站所有的頁面,在24小時內被訪問的總的次數。千萬級別,百萬級別,2、uv值(unique vistor)獨立訪客概念:一個網站,在24小時內,有多少個用戶來訪問我們的網站。達到10萬3、獨立ip,概念:一個網站,在24...
一、判斷大型網站的標準:

1、pv(page views)網頁的瀏覽量:
概念:一個網站所有的頁面,在24小時內被訪問的總的次數。千萬級別,百萬級別,
2、uv值(unique vistor)獨立訪客
概念:一個網站,在24小時內,有多少個用戶來訪問我們的網站。達到10萬
3、獨立ip,
概念:一個網站,在24小時內,有多少個ip來訪問我們的網站。
uv值約等于獨立ip.如果要考慮局域網,uv值略大于獨立ip
二、大型網站帶來的一些問題。

1、大的并發。
并發量:在同一時間點(1秒內),有多少個用戶同時訪問我們的網站。對同一個網址,同時刷新瀏覽器。達到500,就非常大了。
假如并發量是500,pv值是多少。500*3600*10
2、大流量。
網站需要的大的帶寬。10G.
3、大的存儲,
網站中的數據庫,表的容量成海量趨勢,GT級別,如何快速的查找出想要的數據。
三、大并發的解決方案:

要對網站的服務器重新架構,采用分層,負載均衡的架構。


1、負載均衡器:
硬件:f5-bigip 性能比較好,立竿見影,價格昂貴,一般適合于大型網站公司,網游公司。
軟件:
lvs(linux virtual server)linux虛擬服務,加入到linux的內核中。
nginx:可以做web服務器(apache),還可以做負載均衡。
2、負載均衡實現的方式:
主要有:
輪詢技術:客戶端請求服務器輪流轉發。
ip哈希:同一ip地址的客戶端,始終請求同一臺服務器。
最少連接:把請求轉發給最空閑的服務器。
3、集群:
主要是解決計算機單點故障,在一個集群中的計算機,只有一臺計算機工作,其他計算機處于休眠狀態,監視正在工作的計算機,當正在工作的計算機出現問題,則休眠的計算機立刻接替工作。
四、大流量解決方案:

1、防止我們的網站資源被盜鏈。
可以采用一些非技術手段防止被盜鏈,在圖片上添加水印


2、減少http請求,
主要手段就是合并js文件,css文件,背景圖片的文件。將瀏覽器需要的樣式文件或者js文件,合并成一個樣式文件或js文件。比如通過背景圖片舉個例子。
具體的代碼:



3、啟用壓縮,
減少數據傳輸的數據量,常見的壓縮格式是:gzip,deflate.


原理:


4、通過瀏覽器緩存數據內容。
在網站中有一些資源,比如js文件,css文件,一些圖片文件,更新的頻率比較少。通過個設置http的cache-control expires屬性來進行設置緩存,可以設置緩存的文件類型,設置緩存的緩存周期,
5、可以把比較占用流量的一些資源,單獨組建一個服務器,
比如圖片服務器,視頻服務器等。


要注意:資源服務器的配置:
存儲資源的服務器:主要要求是硬盤的容量,讀寫速度。 
可以組建磁盤陣列。 
raid0
raid1
磁盤陣列的存儲技術: 
分布存儲:至少是兩塊硬盤 
復制存儲:至少是兩塊硬盤 


6、花錢買帶寬。
五、大存儲解決方案:

1、緩存技術:
通過緩存技術,達到不查詢數據庫或者少查詢數據庫的目的。
計算機的訪問速度,內存》硬盤文件》數據庫
緩存技術主要有:
磁盤緩存(頁面靜態化),把一個查詢數據庫的頁面變成一個不查詢數據庫的頁面
內存緩存:把經常查詢的數據保存到內存里面,下次查詢數據時候直接在 內存里面查詢。
(memcache/redis/mysql的memory引擎)
2、在設計表的時候,要滿足3范式
第一范式是:原子性,字段不能再分割了。只要是關系型數據庫就自動滿足第一范式:
數據庫的分類:
關系型數據庫:有行和 列的概念,二維表格。常見的關系型數據庫:mysql,sql server,oracle,db2,
非關系型數據庫(nosql)面向集合和 文檔的,沒有行和列的概念常見的有redis/mongodb等。
第二范式:在一個表中不能有完全相同的記錄。可以通過設置一個主鍵。
第三范式:表中的字段不能冗余存儲。


3、要給表添加適當的索引:索引非常重要的,可以提高查詢速度。
常見索引有:主鍵索引,唯一索引,普通索引,全文索引,
4、要創建適當的存儲過程,函數,觸發器等。
5、讀寫分離(主從服務器)
6、分表技術(垂直分割和水平分割)
垂直分割:


水平分割:


把一個表的數據內容,在不同的 區域存儲,
8、升級mysql服務器(添加配置:加大內容,64位)
9、要對sql語句進行調優
select * from tablename 該語句不要使用,要按需查詢。需要哪個字段的數據,就查詢哪個字段的數據。
10、對配置文件進行優化配置。
比如配置mysql數據庫的并發量:


都看到這里了就順手點關注下吧!!!

作者:不詳 來源:網絡
發表評論
  • 大名:
  • 內容:
評論列表
  • 好站推薦
  • 笑死人不償命的笑話
  • 文章閱讀網
  • 關于愛情的句子
  • 好句子大全
  • 最新個性簽名
  • 英語作文帶翻譯
  • 傷心網
  • 汽車之家報價
  • 汽車之家論壇
  • 汽車改裝網
  • 汽車改裝網
  • 汽車銷量排行榜
  • SUV銷量排行榜
  • SUV銷量排行榜
  • 汽車排行榜
  • 本類推薦
    • 沒有
  • 網站介紹 | 投稿指南 | 廣告合作 | 聯系我們 | 又問必答
  • 445IT之家(www.lbegpf.tw) © 2018 版權所有 All Rights Reserved.
  • 冀ICP備:05024815號
  • Powered by 445IT之家
  • 内蒙古十一选五走势图下载