網站性能優(yōu)化對于大型網站來說的重要性有哪些?

2023-11-01    分類: 網站建設

網站性能優(yōu)化對于大型網站來說非常重要。網站的打開速度會影響用戶體驗。網站訪問速度慢會導致高跳出率。小網站很容易解決。對于大型網站,由于欄目較多,圖片和圖片都比較大,那么如何優(yōu)化整體性能?

一、大型網站性能提升策略

1、HTML 靜態(tài)化

其實大家都知道效率最高、消耗最少的是純靜態(tài)HTML頁面php網站部署到服務器,所以我們盡量讓我們網站的頁面都使用靜態(tài)頁面。這種最簡單的方法其實是最有效的方法。 .

2、圖片服務器分離

眾所周知,對于web服務器,無論是IIS還是其他容器,圖片都是最消耗資源的,所以我們需要將圖片和頁面分開。這基本上是大型網站采用的策略。它們有獨立的甚至很多的圖像服務器。這樣的架構可以減輕提供頁面訪問請求的服務器系統(tǒng)的壓力,并且可以保證系統(tǒng)不會因為圖像問題而崩潰。在應用服務器和鏡像服務器上,可以進行不同的配置優(yōu)化。比如在配置的時候,可以盡可能少的支持,盡可能的少,以保證更高的系統(tǒng)消耗和執(zhí)行效率。

3、數(shù)據(jù)庫集群,庫表hash

大型網站具有復雜的應用程序。這些應用程序必須使用數(shù)據(jù)庫。當面對大量的訪問時,數(shù)據(jù)庫的瓶頸很快就會暴露出來。這時候一個數(shù)據(jù)庫很快就無法滿足應用,所以我們需要使用數(shù)據(jù)庫集群或者數(shù)據(jù)庫表hash。

在數(shù)據(jù)庫集群方面,很多數(shù)據(jù)庫都有自己的解決方案,也提供了常用/類似的解決方案。

集群通常使用 CDN、GSbL 和 DNS 負載均衡技術。每個地區(qū)有一組前端服務器組,如網易,百度使用DNS負載均衡技術,每個頻道有一組前端服務器,易搜使用DNS Load技術,所有頻道共享一組前端服務器端服務器集群。

庫表哈希是最常用和最有效的解決方案。

我們在應用程序中安裝業(yè)務和應用程序或功能模塊來分離數(shù)據(jù)庫。不同的模塊對應不同的數(shù)據(jù)庫或者表,然后按照一定的策略對某個頁面或者函數(shù)進行更小的數(shù)據(jù)庫hash,比如根據(jù)用戶ID對用戶表進行hash,這樣可以提高系統(tǒng)的性能成本低,可擴展性好。

搜狐的論壇采用這樣的結構,將論壇的用戶、設置、帖子等信息的數(shù)據(jù)庫分開,然后根據(jù)帖子和用戶的和ID對數(shù)據(jù)庫和表進行hash,最后可以得到在配置文件中完成。簡單的配置允許系統(tǒng)隨時添加低成本的數(shù)據(jù)庫來補充系統(tǒng)性能。

4、

所有從事技術的人都使用過“緩存”一詞,并且很多地方都使用緩存。 網站開發(fā) 中的網站架構和緩存也很重要。這里首先描述兩個最基本的緩存。稍后將描述高級和分布式緩存。至于架構上的緩存,熟悉它的人都知道,它提供了自己的緩存模塊,或者可以使用額外的模塊進行緩存。這兩種方法都可以有效提高訪問響應能力。

網站程序開發(fā)的緩存提供了常用的緩存接口,可以在web開發(fā)中使用。比如在Java開發(fā)的時候,可以調用緩存一些數(shù)據(jù),共享通信。一些大型社區(qū)使用這種架構。另外,在使用web語言開發(fā)的時候,各種語言基本都有自己的緩存模塊和方法,pHp有pear模塊,Java比較多,.net也不是很熟悉,相信會有的。

5、

鏡像是大型網站經常使用的一種提高性能和數(shù)據(jù)安全性的方法。鏡像技術可以解決由于不同的網絡接入商和地區(qū)造成的用戶訪問速度的差異。比如很多網站的區(qū)別和推廣 鏡像網站建在教育網,數(shù)據(jù)定期或實時更新。

6、負載均衡

負載均衡將是大型網站解決高負載訪問和大量并發(fā)請求的高端方案。負載均衡技術發(fā)展多年,有很多專業(yè)的服務商和產品可供選擇。

二、pHp 代碼編寫優(yōu)化:

1. echo 比它快得多。

兩種方法都會在頁面上打印東西,但是echo不返回任何值,成功或失敗都會返回0或1。

2. 比這更耗時。

因為它需要檢查你要包含的內容是否已經包含。

3. 對于長段落的字符串,必須使用單引號而不是雙引號。

因為雙引號會搜索字符串中的變量。例如:echo ‘This is long ’。 $name 比 echo "This is long $name" 快得多。

4. 不要使用嵌套在循環(huán)中的 for 循環(huán)

5. 如果可以將函數(shù)定義為靜態(tài)函數(shù),則不要將其定義為成員函數(shù)。靜態(tài)函數(shù)比成員函數(shù)快 33%。

6.如果不用正則表達式也能解決問題,那就不要使用正則表達式。

正則表達式比 pHp 的原生函數(shù)慢。例如,使用替換。

7. 盡量不要使用相對路徑來包含文件

在相對路徑中搜索文件,會在當前目錄中搜索,然后依次再次搜索。這樣,查找文件非常慢。最好先定義這樣一個常量,然后用這個常量來包含文件。

8.全等符號===比等式快==

而 if (1 == '1') 會返回真,if (0 == ”) 也會返回真,而當你使用全等符號時, if (1 ==='1') 和 if (0 ===”) 將返回。所以當你需要檢查程序中的一些布爾變量時,最好使用全等符號。

三、三、有幾種方式

1.關閉調試模式

由于關閉調試模式,系統(tǒng)會自動生成項目編譯緩存并關閉日志寫入,可以減少大量的IO加載和日志寫入開銷。

2.啟用頁面壓縮輸出

從3.1版本開始,增加了配置參數(shù)來控制頁面壓縮輸出。

3.啟用緩存

在網站部署環(huán)境中安裝ApC或緩存,可以有效提升網站性能和內存使用率。它是一個開源緩存/優(yōu)化器,這意味著它可以提高 pHp 在您的服務器上的性能。 pHp 編譯后數(shù)據(jù)緩存到共享內存,避免重復編譯過程,編譯后的代碼可以直接用來緩存編譯后的代碼,提高速度。通常它可以將您的頁面生成率提高 2 到 5 倍并減少服務器負載。 pHp(ApC)是一種有效的pHp開源緩存工具,可以緩存pHp中間代碼。

4. 字段緩存

默認情況下,字段緩存是自動生成的。開發(fā)完成后,基本上數(shù)據(jù)庫的變化變少了,所以可以考慮將字段緩存合并到對應的模型類中,這樣可以減少每次讀取字段緩存的IO開銷。合并的方法是在/Data/

下找到對應的字段緩存文件

四、 數(shù)據(jù)庫優(yōu)化

1、選擇合適的存儲引擎

舉個例子,有兩個存儲引擎和。每個引擎都有優(yōu)點和缺點。它適用于一些需要大量查詢的應用。趨勢將是一個非常復雜的存儲引擎,對于一些小型應用程序,它會比這更慢。但它支持“行鎖”并支持事務。

2、優(yōu)化字段的數(shù)據(jù)類型

記住一個原則,列越小,速度越快。對于大多數(shù)數(shù)據(jù)庫引擎,硬盤操作可能是最重要的瓶頸。因此,在這種情況下,使您的數(shù)據(jù)緊湊將非常有幫助,因為它減少了對硬盤的訪問。如果一個表只有幾列(比如字典表、配置表),那么我們沒有理由使用INT作為主鍵。使用INT或更小更經濟。如果不需要記錄時間,使用DATE會好很多。當然,你也需要留出足夠的擴展空間。

3、為搜索字段添加索引

索引不一定用于主鍵或唯一字段。如果你的表中有一個字段你會經常使用,那么最好為其建立一個索引,除非你要搜索的字段是一個大文本字段,那么你應該建立一個全文索引.

4、 *從數(shù)據(jù)庫讀取的數(shù)據(jù)越多,查詢越慢。

而且,如果你的數(shù)據(jù)庫服務器和WEb服務器是兩個獨立的服務器,這樣也會增加網絡傳輸?shù)呢撦d。即使要查詢數(shù)據(jù)表的所有字段,也盡量不要使用*通配符。善用內置的字段排除定義,可能會帶來更多的便利。

5、使用 ENUM 代替

ENUM 類型非常快速且緊湊。其實它保存的是什么,只是在外面表現(xiàn)為一個字符串。這樣,使用這個字段來制作一些選項列表就變得非常完美了。例如,性別、種族、部門、地位等這些字段的值是有限的和固定的。那么,你應該使用 ENUM 而不是。

6、盡量使用NOT NULL

除非您有非常具體的理由使用 NULL 值,否則您應該始終保持您的字段 NOT NULL。 NULL 實際上需要額外的空間,比較起來你的程序會更復雜。當然,這并不是說不能使用NULL。實際情況很復雜,還有一些情況需要用到NULL。

7、定長表會更快

如果表中所有字段都是“定長”,則整個表將被視為“”或“-”。例如,表中沒有以下類型的字段:、TEXT、bLOb。只要您包含這些字段之一,該表就不是“固定長度的靜態(tài)表”。這樣引擎就會用另一種方法來處理。

定長表會提高性能,因為搜索會更快,因為這些定長很容易計算下一個數(shù)據(jù)的偏移量,所以讀取自然會更快。而如果字段不是定長的,那么每次查找下一個時,程序都需要查找主鍵。

此外,固定長度的表更容易緩存和重建。但是唯一的副作用是定長字段會浪費一些空間,因為無論你使用與否,定長字段都要分配這么多空間。

8、使用“垂直分割”技術

你可以把你的桌子分成兩張,一張是固定長度的,一張是可變長度的。垂直切分“垂直切分”是將數(shù)據(jù)庫中的一張表按列轉換成若干張表的方法,可以降低表的復雜度和字段數(shù),從而達到優(yōu)化的目的。例如:User表中有一個字段是家庭住址,該字段為可選字段,相比之下,操作數(shù)據(jù)庫時除個人信息外,無需頻繁讀取或重寫該字段。那么,為什么不把他放在另一張桌子上呢?這樣會讓你的表有更好的性能,想想看php網站部署到服務器,如果有很多時候,我只有用戶表的用戶名,用戶名和密碼。 、用戶角色等會經常用到。較小的手表將始終具有良好的性能。另外需要注意的是,這些劃分的字段組成的表,不要頻繁的加入,否則性能會比不劃分的時候差,而且會出現(xiàn)極值的數(shù)量。下降的程度。

9、您的詢問

使用關鍵字讓您知道如何處理您的 SQL 語句。這可以幫助您分析查詢或表結構的性能瓶頸。查詢結果還會告訴你你的索引主鍵是怎么用的,你的數(shù)據(jù)表是怎么搜索排序的……等等。對于比較復雜的語句,尤其是涉及多表的語句,通常我們可以在前面加上關鍵字。你可以用它來做到這一點。

五、前端優(yōu)化

優(yōu)化后端和數(shù)據(jù)庫后,接下來我們要做的就是優(yōu)化你的前端頁面和輸出頁面的資源文件,包括圖片、JS和樣式文件的優(yōu)化。建議使用以下網頁性能測試工具進行檢測分析,并給出相關優(yōu)化建議:

開發(fā)的工具

開發(fā)人員可以使用它來評估其網頁的性能并獲得有關如何提高性能的建議。

它可以分析網站的頁面,告訴您如何根據(jù)一定的規(guī)則進行優(yōu)化,以提高網站的性能。

文章名稱:網站性能優(yōu)化對于大型網站來說的重要性有哪些?
分享地址:http://www.bm7419.com/news12/291812.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、移動網站建設定制網站、搜索引擎優(yōu)化軟件開發(fā)、面包屑導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設公司