針對大資料高併發站點的優化

2021-07-01 23:16:57 字數 859 閱讀 4946

現今不論是電商**還是熱門論壇或者其他的應用程式都涉及到大資料和高併發問題,例如電商**的秒殺、搶購等等,在此針對自己了解過的資料做個淺顯的總結:

主要是關於php開發方向的:

大資料處理:

**層面:

1、前端:

(1)減少大的應用和複雜js的載入,提公升頁面的訪問速度

(2)通過js外掛程式等工具實現頁面的延遲載入或者預載入

2、後端:

(1)減少資料庫的查詢,應用php程式自帶的快取機制對資料進行快取

(2)在書寫查詢語句的時候減少使用*等萬用字元

(3)使用php函式的時候,儘量減少那些耗資源的函式的使用,比如陣列合併的array_merge()函式

(4)在where語句的後面儘量減少計算語句和子查詢語句

伺服器層面:

1、使用快取機制memorycache和redis(memorycache是使用的記憶體快取機制,redis是使用的記憶體和檔案相結合的快取機制),一般memorycache適用於大於100k的資料的快速快取,而redis是小於100k的時候效能較好,若要進行永續性快取,推薦使用redis快取機制,二種快取機制都需要在伺服器端安裝配置,並且開啟php擴充套件支援

2、使用伺服器的負載均衡機制(實現**層和資料庫層的伺服器分離,同時實現主從資料庫設計,在主資料庫中新增事務,實時同步從屬資料庫的資料,同時實行單點登入設計解決跨伺服器問題,用session或者零時資料表的方式)

高併發處理:

1、mysql使用事務處理和鎖機制(innodb引擎使用的是行鎖,myisam引擎使用的是表鎖)

2、使用非關係型資料庫nosql進行處理,關係型資料庫返回的是物件,而非關係型資料庫返回的是陣列或者序列化字串

其他待後續完善.....

高併發和大資料的解決方式

現在,軟體架構變得越來越複雜了,好多技術層出不窮,令人眼花繚亂,解決這個問題呢,就是要把複雜問題簡單化,核心就是要把握本質。軟體剛開始的時候是為了實現功能,隨著資訊量和使用者的增多,大資料和高併發成了軟體設計必須考慮的問題,那麼大資料和高併發本質是什麼呢?本質很簡單,乙個是慢,乙個是等。兩者是相互關...

大資料高併發學習筆記(2)

對於大資料問題,最終都會反饋到資料瓶頸上。那麼今天就是搞得資料庫啦!木桶理論 桶裝水能力是由最短的那塊板決定的。在乙個系統中,或者說是乙個企業裡,資料時最重要的。所以我們是一定要保證資料的正確性,唯一性。資料 二八原則 80 的請求聚焦在 20 的資料上。80 的請求都是查詢 20 是增刪改。讀寫分...

大資料 高併發LVS1

yum search ipvsadm yum install ipvsadm ipvsadm幫助命令 ipvsadm h 管理集群服務 常用的管理命令 管理集群服務的rs e 修改 d t u f service address r server address 刪除 檢視刪除所有集群事務服務 儲存...