PHP大資料大並發大流量詳解

來源:互聯網
上載者:User

什麼是大型網站? 大型網站要滿足一下標準.

pv(page views)值, 頁面瀏覽量,一個網站的所有頁面,在24小時內被瀏覽的總的次數, 一般說 到千萬.
uv(unique visitor) 獨立訪客: 一個網站的24小時內,有多少個使用者來訪問該網站, 一般說 到10萬

ip值,一個網站的24小時內,有多少個ip訪問。在不考慮內網和區域網路的情況下,uv 等於 ip, 如果考慮的話,uv值略大於 ip,一般說 到10萬

大型網站帶來的問題

大並發

概述: 在同一個時間點,有大量的客戶來訪問我們的網站,如果訪問量過大,就可能造成網站癱瘓。

大流量

概述: 當網站大後,有大量的圖片,視頻,flash, 這樣就會對流量要求高,需要更多更大的頻寬.(花錢)

大儲存

概述:你的資料量會成海量的資料,如果我們的資料放入一張表,是無法應對的。可能對資料儲存和查詢出現問題

大型網站的常見處理方案

大並發的處理方法(對架構分層+負載平衡+叢集)


大流量的處理方案

網站圖片盡量使用背景圖。
可以啟用apache內建的資料壓縮機制(gzip ,deflate) .

使用cdn(content delivery network) 內容分髮網絡


網站圖片,在不影響觀看的情況下,盡量使用jpg(解析度底),不要使用高解析度。

大儲存的常見解決方案

使用緩衝技術(記憶體緩衝[redis,mysql資料庫(memory引擎)],頁面緩衝(頁面靜態化)

最佳化資料庫

表的設計要合理(滿足3NF) 原子性,唯一性,拆分表
添加索引(主鍵索引|全文索引|唯一索引|普通索引|空間索引)
最佳化sql語句
分表( 水平分表,垂直分表),分區
讀寫分離

最佳化my.ini配置
軟體硬體應當升級

頁面靜態化

使用php自己的ob緩衝技術實現
使用模板替換技術實現

主流的mvc架構(tp,yii,laravel)模板引擎一般都內建頁面靜態化

使用ob緩衝

PHP程式在運行過程中,存在一個程式緩衝,該緩衝必須存在,程式員無法控制。
PHP程式運行過程中,我們可以開啟ob緩衝(在php5.2前,預設ob是關閉的,在後面版本預設是開啟的), 開啟ob緩衝的方法有兩個
a) 修改php.ini output_buffering = 4096,
b) 還有就是直接在php檔案中開啟 ob_start();
PHP程式運行過程中,如果開啟了ob緩衝,那麼echo 資料會被放入到ob中,header資訊都是放入程式緩衝
當php檔案執行完畢後,就會把ob緩衝的資料重新整理到程式緩衝,然後apache封包,返回給瀏覽器。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.