php 處理 大併發

小談php處理 大併發 大流量 大存儲php

一.判斷大型網站的標準:css

1.pv(page views)網頁的瀏覽量:mysql

概念:一個網站全部的頁面,在24小時內被訪問的總的次數。千萬級別,百萬級別linux

2. uv值(unique visitor)獨立訪客nginx

概念:一個網站,在24小時內,有多少個用戶來訪問咱們的網站,達到10萬web

3. 獨立ip 重點內容redis

概念:一個網站,在24小時內,有多少個ip來訪問咱們的網站。sql

uv值約等於獨立ip若是要考慮局域網,uv值略大於獨立ipmongodb

二 大型網站帶來的一些問題數據庫

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,集羣:

主要是解決計算機單點故障,在一個集羣中的計算機,只有一臺計算機工做,其餘計算機處於休眠狀態,監視正在工做的計算機,當正在工做的計算機出現問題,則休眠的計算機馬上接替工做。

四 大流量解決方案:

一、防止咱們的網站資源被盜鏈。

能夠採用一些非技術手段防止被盜鏈,圖片上添加水印

2.減小http請求,

只要手段就是合併js文件,css文件,背景圖片的文件。將瀏覽器須要的樣式文件或者js文件,合併成一個樣式或js文件,好比經過背景圖片舉個例子。

3. 啓用壓縮

減小數據傳輸的數據量,常見的壓縮格式是: gzip deflate

4 經過瀏覽器緩存數據內容,

在網站中有一些資源,好比js文件 css文件一些圖片文件,更新的頻率比較少,經過這個設置的http的

cache-control expires屬性來進行設置緩存,能夠設置緩存的文件類型,設置緩存的緩存週期,。

5 能夠把比較佔用流量的一些資源,單獨組建一個服務器,

好比圖片服務器,視頻服務器等。

五 大存儲決絕方案:

1.緩存技術:

經過緩存技術,達到不查詢數據庫或者少查詢數據庫的目的。

計算機的訪問速度,內存>硬盤文件>數據庫

緩存技術主要有:

硬盤緩存(頁面靜態化),把一個查詢數據庫的頁面變成一個不查詢數據庫的頁面

內存緩存:把常常查詢的數據保存到內存裏面,下次查詢數據時候直接在內存裏面查詢。

(memcache/redis/mysql的memory引擎)

2.在設計表的時候,要知足3範式

第一範式是: 原子性,字段不能再分割了,只要是關係型數據庫就自動知足第一範式:

數據庫的分類: 

關係型數據庫:有行和列的概念,二維表格,常見的關係型數據庫:mysql, sql server oracle db2

非關係型數據庫(nosql)面向集合和文棟的,沒有行和列的概念常見的有redis/mongodb等,

第二範式:在一個表中不能有徹底相同的記錄,能夠經過設置一個主鍵。

第三範式:表中的字段不能冗存儲。

3 要給表添加適當的索引:索引很是重要的,能夠提升查詢速度。

常見索引有:主鍵索引, 惟一索引 普通索引, 全文索引

4 要建立適當的存儲過程函數 觸發器等

5 讀寫分離(只從服務器)

6 分表技術(垂直分割和水平分割)

7 分區技術

把一個表的數據內容,在不一樣的區域存儲。

8 升級mysql服務器(添加配置:加大內容 64位)

9 要對sql語句進行調優

select * from tablename 該語句不要使用,要按需查詢,須要那個字段的數據,就查詢那個字段的數據,

10 對配置文件進行優化配置

好比配置mysql數據庫的併發量:

相關文章
相關標籤/搜索