ThinkPHP框架搭建大型購物網站優化

在搭建網站的時候,若是是比較大型的網站且訪問量比較大的,前臺程序就須要優化;若是使用TP框架的話,通常來講網站能夠接收的併發請求比原生態PHP少幾倍甚至更多,因此若是使用框架,前臺程序更須要優化。下圖是使用ab.exe網站壓力測試結果,分別是使用原生態php和TP框架打印phpinfo();php

 

網站優化的選擇?redis

TP中自帶緩存功能,能夠把一個頁面配置必定的時間。(配置一下便可)數據庫

 

1. 不常常發生變頁面生成靜態頁(指定一個過時時間,過時以後自動從新生成頁面)緩存

2. 靜態頁面實時變化的數據使用AJAX來獲取服務器

3. 實時查詢數據的功能如何優化。(網站啓動時先把數據庫中的數據導入到memcache中,這樣網站中的程序就只操做memcache不操做數據庫,而後按期把memcache中的數據同步到數據庫中)session

       a)  通常網站只把頻繁訪問的小數據放到memcache中操做(session,購物車中的數據,商品的庫存量等等)併發

       b) 使用memcache的問題:若是服務器出現故障重啓,那麼memcache中的數據就丟失了。怎麼解決?框架

         至少有一臺備份用的memcache服務器,每次操做數據時,把在備份的memcache服務器上保存一份,這樣即主服務器壞了,在備份服務器上也能夠還原數據,備份服務器和主服務器同時出故障機率不高。測試

         redis也能夠作內存服務器。redis能夠把數據自動回寫到硬盤,缺點是慢,由於每次要寫硬盤,通常是一秒寫一次,在1秒數據若是還沒寫到硬盤就會丟失。通常用redis也要搭成主從服務器,主服務器上不寫硬盤,讓從服務器每次把數據寫硬盤。優化

有些功能沒法使用memcache(數據量太大,沒有那麼多memcache服務器)。只有靠數據庫集羣(主從複製、讀寫分離),如:商品搜索的功能。

相關文章
相關標籤/搜索