前言php
網站的性能優化是很是重要的,直接決定了用戶體驗,和網站的負載能力。css
Wordpress是一款很是受歡迎的Blog/CMS開源軟件。全球數百萬的網站使用wordpress搭建。html
那麼,如何讓wordpress的性能、效能達到最佳,在減小服務器負荷的狀況下,提升網站的訪問速度,或者說提升網站性能,提升用戶的訪問體驗呢?mysql
銳殼主機的管理員莫小哥來幫你解決這些問題吧。寫做水平和知識水平有限,若是有不通順,或者錯誤的地方,還請諒解。nginx
網站速度的瓶頸主要是:redis
- 寬帶瓶頸。用戶的網絡和服務器之間的網絡是否通暢、及服務器自己的寬帶是否寬裕。sql
- 數據庫瓶頸。網站程序索取數據的速度,決定了動態網站的頁面產生時間。docker
- 磁盤IO瓶頸。資源文件、程序解析、數據庫數據讀取和持久化都跟磁盤IO有關。數據庫
- 程序自己的瓶頸。若是程序寫得不夠好,除了優化代碼,老天也幫不了你啊。瀏覽器
寬帶瓶頸
寬帶很是重要,也許你的寬帶很充裕、服務器的寬帶也充裕,可是物理位置卻太遠(國內到美國西岸的距離~~想一想都醉了!廣告一下,銳殼主機有香港和日本,都是離大陸最近的免備案區域)。其實寬帶瓶頸是很無力的,大部分狀況下,服務器的寬帶是很充裕的。
那麼數據如何在最短的時間內傳輸完畢?!
方案:
- 開啓服務器的gzip壓縮。壓縮傳輸數據,減小傳輸時間。
- 將資源文件放在國內。
- wordpress或者本身開發的程序可使用七牛雲存儲的鏡像功能。
- 你須要的只是建立一個七牛鏡像空間,修改資源文件爲七牛空間提供的url地址便可。
- 也能夠直接使用我愛水煮魚做者開發的 七牛靜態化插件。這樣,服務器只須要傳輸網頁的html,其餘css,js等文件交給七牛,能夠很是有效的提升網站的總體速度。
- 銳殼主機的官方網站就是這麼作的哦!
數據庫瓶頸
咱們的網站數據是持久化存儲在mysql數據庫中(佔用磁盤)。動態網站的本質就是讀取數據庫,處理邏輯,生存html傳輸給瀏覽器。例如咱們的wordpress,就是一個動態php程序。
咱們每次訪問wordpress博客,wordpress就會從mysql數據中讀取文章、標籤等等內容,而後生存html,傳輸給瀏覽器,瀏覽器渲染給用戶。
因此,每次訪問,都會去查詢mysql數據庫,將數據讀取出來。這個過程,也是網站的速度瓶頸之一!
減小數據庫的查詢,就能明顯提升網站速度了。
因此,若是咱們減小或者不查詢數據庫,網站是否是就會更快了呢。沒錯!這就是靜態化。
好在wordpress有靜態化插件,例如wp-super-cache 等插件。能夠將wordpress的頁面緩存,減小查詢數據庫,進而直接從磁盤讀取緩存的頁面,發送給瀏覽器,不進行或者減小數據庫的查詢操做等。
磁盤IO瓶頸
更快的磁盤速度,也會提升網站速度!
好比,咱們網站的圖片、css、js都存儲在服務器的磁盤上。那麼從服務器軟件(例如nginx)讀取這些文件(對於磁盤來講就是讀取文件),而後發送給用戶瀏覽器;
再或者,咱們進行寫入和讀取mysql的數據,也會從磁盤中讀取和寫入數據。
這些操做,固然是更快的磁盤速度,就意味着更快的網站加載速度啦!
因此用上SSD硬盤,對網站速度也能有明顯的提升的(銳殼主機的服務器磁盤均是SSD硬盤)!
程序瓶頸
程序瓶頸主要是用戶寫的代碼、數據庫的增刪改查語句、數據庫表的優化,都能改善程序的性能。
這個就須要必定的經驗、開發能力和技巧啦。
結語
其實這些都是一些常規的優化和注意事項及建議。對於新手用戶來講,有必定的幫助。
用戶能夠觸類旁通。甚至能夠多多瞭解nginx、HTTP協議級別的緩存、redis等內存級別的緩存等內容。
最後,銳殼主機歡迎你。帶CDN的虛擬主機,完美兼容wordpress!近期咱們會推出基於docker容器技術的應用引擎,屆時歡迎你們前來體驗!