Post view

insoler網站Mac mini Intel Core i7 2.6GHz伺服器主機網頁PageSpeed效能測試

關於insoler網站伺服器主機的CPU效能測試,請參考這篇文章:

insoler網站Mac mini Intel Core i7 2.6GHz伺服器主機的處理器效能測試報告,使用Geekbench 4

關於insoler網站伺服器主機的SSD磁碟、網路磁碟的效能測試,請參考這篇文章:

insoler網站Mac mini Intel Core i7 2.6GHz伺服器主機的SSD、網路磁碟的Benchmark效能測試

就算是使用18 核心2.3GHz Intel Xeon W Turbo Boost 可達 4.3GHz的頂級伺服器專用CPU,最快的SSD固態硬碟,循序讀取速度高達3.2GB/s、循序寫入速度高達2.2GB/s,全世界最快的電腦,但還是有一個與「網頁開啟速度」有關的問題需要討論。

那就是:網頁最佳化。

使用最快的主機來架設網站,卻因為網頁沒有進行最佳化,在大量存取網站的時候,就會因為網頁的結構不良,導致網頁開啟速度緩慢,浪費光纖網路流量。最終的結果,從使用者的角度來看,還是只會看到一個開啟速度遲緩的網站。

要分析自己的網站,其實也可以不需要安裝任何外掛程式,只要使用類似GTmetrix的網站,就可以Analyze your site’s speed and make it faster.分析你的網站速度,並讓他更快!

雖然是your site’s speed但其實不會計算網頁的開啟速度(會記錄開啟網頁的時間軸),所以就算是使用全世界最龜速的電腦來架設網站,或是使用全世界最強的超級電腦來架設網站,得到的分數都會一樣!

只要輸入想要分析的完整網址,全世界的任何網站均可,並沒有限定必須是自己的網站,你也可以分析Apple網站、MSN網站、Facebook網站等。

你可以看到insoler網站得分是:

  • PageSpeed得分是C的75%分。
  • YSlow得分是B的86%分。

為什麼PageSpeed的分數比較低?主要是在PageSpeed的第一個Optimize images最佳化圖片項目上,竟然得到「F (0)」分!第一個測試項目就大幅拉低了平均總分!第二個項目也有「C (74)」分。其他底下的項目都是非常好的「A (93)」、「A (99)」甚至是滿分「A (100)」分。

PageSpeed會把分數最低,最需要改進的項目列在前面,所以已經拿到滿分「A (100)」分的這些項目就不需要改進。

為什麼Optimize images最佳化圖片會只有0分?那是因為insoler首頁有許多的照片,那些照片並沒有最小化!在每個項目後面寫的 (50% reduction) 意思是可以再壓縮圖片到50%大小。

這個意思並不是要你縮小圖片。比如把800x800點的圖片縮小到400x400點。而是PageSpeed認為800x800點的圖片大小可以壓縮到10KB(舉例),但是PageSpeed收到的圖片大小卻是20KB。所以就給予「扣分」的動作。insoler首頁有太多沒有最佳化的圖片,因此這個項目就被扣到只剩0分!

因為效能測試網站認為20KB的800x800點的圖片大小,應該要壓縮到10KB才對(舉例)。但是這個網站並沒有進行圖片縮圖的最佳化,所以才會得到0分!

事實上,這是我故意要這麼做!因為壓縮率太高的「照片」,會導致JPEG照片看起來帶有「馬賽克」感。這是JPEG採用區塊式的壓縮演算法的關係。也因此我並不打算提高照片的壓縮率來解決這個問題。

在另外一個YSlow測試分數有2個項目拿到0分,分別是:

  • Use a Content Delivery Network (CDN)
  • Use cookie-free domains

同樣的,這兩個都是我無法解決的問題,所以只能繼續拿到0分!為什麼?因為...

  • 所謂「使用Content Delivery Network」從Wiki可以看到CDN的說明,簡單的說,對於位於美國的使用者來說,他可以直接從美國網站直接取得整個網頁上的資料,而不是要從美國越洋到台灣的Mac mini伺服器主機上來取得整個資料。由於insoelr只是一個非常小型的社群網站,目前的會員也只有個位數,而且沒有任何廣告收入!我不可能像國際大型網站那樣,可以付費使用CDN服務。

內容傳遞網路(英語:Content delivery network或Content distribution network,縮寫:CDN)是指一種透過網際網路互相連接的電腦網路系統,利用最靠近每位使用者的伺服器,更快、更可靠地將音樂、圖片、影片、應用程式及其他檔案傳送給使用者,來提供高效能、可擴展性及低成本的網路內容傳遞給使用者。

內容傳遞網路節點會在多個地點,多個不同的網路上擺放。這些節點之間會動態的互相傳輸內容,對使用者的下載行為最佳化,並藉此減少內容供應者所需要的頻寬成本,改善使用者的下載速度,提高系統的穩定性。

內容傳遞網路所需要的節點數量隨著需求而不同,依照所需要服務的對象大小,有可能有數萬台伺服器。

  • 所謂「cookie-free domains」意思是不使用cookie的網站。這同樣是絕對不可能的任務!就連全球最大的Facebook都還是繼續使用cookie!事實上所有可以讓使用者「記住登入狀態」而不需要不斷登入的網站,都會使用瀏覽器的cookie來記住使用者是否有登入網站。這個cookie是放在你的電腦的瀏覽器裡面,並不是放在insoler網站上。

簡單的說,包括Facebook在內的所有網站,都會把使用者登入到網站以後,告訴你的電腦的瀏覽器,把登入狀態儲存在一個cookie檔案(檔案內容可以在瀏覽器裡面找到),這樣當你下次(可能是幾分鐘以後,幾小時、甚至幾天以後)只要直接開啟Facebook或是insoler等網站,網站就會請你的瀏覽器傳送該網站專用的cookie檔案(每個網站都有專屬的cookie,無法共用也無法通用),看看你是否已經登入。如果登入狀態沒有過期,就會自動登入,而不需要再重新登入。

既然連Facebook都不可能是「cookie-free domains」我們更不可能辦到!所以也只能繼續拿0分!嘿嘿~

前面有提到雖然不會計算網頁的開啟速度,但還是會記錄開啟網頁的時間軸,所以在Waterfall Chart這裡就可以看到一個時間軸的圖表。

你可以看到開啟網頁的時間,總共需要7秒。這是只有測試第一次開啟網頁的速度,不會測試第一次開啟網頁。雖然7秒看起來太慢了,但實際上並沒有這麼慢,因為只要在開啟首頁以後,你的瀏覽器就會記錄全部的網頁內容,只要再點選其他網頁的時候,如果有相同的圖片,就不會重複開啟,因此第二次以後網頁的開啟速度就會快很多。

因為insoler的首頁,相簿首頁都有很多照片圖檔,所以如果換成是討論區版面的話,或許分數就會有很大的不同!你可以看到測試的結果分別得到PageSpeed的「A (95%)」分。以及YSlow的「B (88%)」分的成績。我想這已經是非常好的成績,想要拿到滿分100分是很困難的事情,就連各大知名的網站都辦不到,更不用說是一個非常小,很少人會來,更是不為人知的insoler社群網站!

  • PageSpeed得分是A (95%) 分。
  • YSlow得分是B (88%) 分。

由於insoler是使用海豚系統架設的社群網站,那麼原廠網站的測試分數呢?我使用BOONEX提供的Demo展示網站來進行測試。你可以測試全世界的任何網站,不需要登入任何帳號!更是完全免費!你可以看到Demo網站的測試分數是:

  • PageSpeed得分是C (79%) 分。
  • YSlow得分是D (61%) 分。

雖然Demo網站的分數比insoler的PageSpeed得分是C (75%) 分,略高4分而已。但是YSlow得分只有D (61%),比insoler的B (86%) 分的分數低很多。為什麼Demo網站的PageSpeed得分會比insoler更高?那是因為Demo網站首頁並沒有很多照片,照片縮圖的壓縮比率也比較高,因此分數自然就會比較好看。但是Demo網站有許多項目的分數很差,雖然沒有一個項目拿到0分,但整體的分數並不高,實際去瀏覽Demo網站,你也會發現Demo網站的網頁開啟速度並不快,即使是瀏覽多次,網頁開啟速度仍然相當緩慢。

在YSlow測試部分,甚至拿到2個0分!你可以看到在Use a Content Delivery Network (CDN) 項目,同樣也是0分!事實上很多網站都會在CDN上拿到0分!因為小型網站沒辦法在全球建構使用者就近的伺服器主機,也很難負擔大型網站的CDN費用。

既然insoler可以在討論區上拿到A (95%) 分,那麼Demo網站的討論區也可以拿到?測試的結果確實是拿到A (90%)分!雖然比首頁好很多,但還是輸給insoler的95%分!

也就是說,如果insoler首頁沒有大型的照片圖檔,或是我提高照片縮圖的壓縮率到50%以上,就算是insoler的首頁,應該也可以拿到接近A (95%) 分的高分!

在YSlow測試有4個項目的分數的很低,也難怪得分比insoler的討論區B (88%) 更低!

也許你會認為,反正Demo性質的測試網站,只要能正常展示使用海豚架設的網站會是什麼樣子?有哪些功能可以提供?對於Demo網站的效能、網頁開啟速度等,就不需要太過執著,反正沒有多少人會去,更不用說每隔一段時間就會自動重新設定,恢復原本的設定值,更不可能有人去註冊!

雖然是這樣沒錯,只不過是Demo網站,並不需要做太多的無謂的調整。但我想要表達的是,如果你也使用相同的海豚系統來架設網站,你的網站的測試分數只會相同,甚至是更低!

因為... 事實上我已經比海豚的BOONEX官方網站還要更努力進行過「網頁最佳化」的工作。insoler討論區分數拿到A (95%) 分,是因為我做了許多努力,包括修改Apache的httpd.conf設定,以及修改海豚的某些PHP程式碼。如果關閉或是減少insoler首頁的照片,我想首頁分數應該也絕對會比Demo網站更高!

當然,負責擔任網站伺服器、資料庫伺服器的主機也同樣是多方面思考過,已經進行了許多最佳化,讓6年前的Mac mini (Late 2012) 電腦主機的性能並不輸給現在Core i7、Core i9的全新電腦。當然,買現在Core i7、Core i9的全新電腦來做相同的最佳化,絕對會跑出比6年前的Mac mini (Late 2012) 電腦主機,更好的效能,更快的網頁開啟速度。但是我想應該是不會再更快一倍(2倍)、3倍以上。只更快一點點的話,並沒有升級的必要性與迫切性。

網頁開啟時間需要7秒,除了與網站伺服器的主機速度以外,也與這個網站使用的網路的「上傳速度」有關。網站使用的網際網路的「下載速度」將與使用者「上傳檔案」的時候有關,請仔細理解一下網站與使用者的上傳與下載關係。

對普通使用者來說,幾乎都是使用「高速下載」「低速上傳」的網路(無論是光纖網路或是ADSL網路)。這是因為絕大多數的使用者都想要瀏覽許多網站,在電腦上或是手機上瀏覽照片、YouTube影片等。但卻很少需要上傳照片到網站(就算是貼到Facebook、Line也不可能每天貼幾十張、幾百張照片)、上傳大型影片,特別是4K高畫質影片(只有專業的YouTuber例外),所以不需要「高速上傳」,而需要「高速下載」。

然而,對於網站來說,角色就會與使用者完全相反!當使用者想要「高速下載」的時候,網站就必須提高「高速上傳」照片、影片給使用者。

因此,如果你現在使用的網際網路速度是下載29.4M,上傳速率是6.6M的網際網路...

以目前「最新公告日期:2018年5月14日」的Hinet表格來看,這個地點使用網路的應該是「光世代35M/6M」這個光纖網路。

產品 最高速率
(下載/上傳)bps
上網費率牌價
(元/月)
電路費牌價
(元/月)
總金額
(元/月)
光世代 1G/600M $1067 $1332 $2399
光世代 500M/250M $862 $937 $1799
光世代 300M/100M $672 $727 $1399
光世代 100M/100M $624 $675 $1299
光世代 100M/40M $466 $471 $937
光世代 60M/20M $459 $415 $874
光世代 35M/6M $435 $391 $826
光世代 16M/3M $360 $313 $673
ADSL 8M/640K $358 $315 $673
ADSL 5M/384K $329 $198 $527
ADSL 2M/64K $121 $107 $228

 

雖然下載29.4M、上傳6.6M的網路速率很接近「光世代35M/6M」的速度,但如果把網路的路徑改成SEEDNET的話,可能會跑出下載22.8M、上傳6.5M的結果。

如果想要在29M/6M的網路上,上傳大型圖檔,甚至是上傳大型的4K影片到YouTube的話,會發現上傳速度會變得異常緩慢!比你平時看YouTube影片的流暢度完全無法相提並論!

因為上傳只有6Mbps的速度,意思是6Mbit/s,每秒6M位元。除以8換算成Byte的話,其實只有0.75MB/s。假設上傳速度有1MB/s的話,如果想要上傳500MB大小的影片,就會需要500秒。也就是需要8.3分鐘。實際只有0.75MB/s傳輸速度的話,就會需要花666秒,大約是11分鐘。

但是,想要從YouTube直接下載500MB大小的影片,29Mbit/s的下載速度相當於3.6MB/s每秒,所以 500MB / 3.6MB = 138秒。大約只要2.3分鐘就可以下載完畢。

這是使用這個網路,從YouTube下載或是上傳影片的方向來思考。換成別人從你的網站下載或是上傳照片、影片的話,使用者的下載速度,就會變成你的上傳速度!

也因此,如果想要在下載29M、上傳6M的這個網路上,使用自己的電腦來架設網站的話,會變成對別人來說,竟然是一個只有6M下載速度,網頁開啟速度超慢的超低速網站!

當然,也有很多人是選擇直接租用網路空間,使用虛擬主機來架設虛擬網站。這樣就可以使用該公司提供的高速光纖網路、該公司的電腦主機(通常都是虛擬伺服器主機)、該公司的MySQL資料庫伺服器來架設網站。這樣就能用最低的成本,享受高速網站的服務。

insoler目前是100M/100M的網站,下載速度與上傳速度都是100Mbps。不過,其實我們內部並沒有多少人,平時也沒有下載大型影片,完全不需要高速下載。但是Hinet沒有「下載10M、上傳100M」這種與普通使用者相反的非對稱網路,所以唯一比較好的選擇,目前只有「100M」。

由於insoler網站的上傳速率是「100Mbps」,只要你使用的網路的下載速度是在100M以下,通常都不可能覺的insoelr的速度比其他網站緩慢!會認為insoler網站速度有點慢的人,其實只有下載速度是1G、500M、300M這3個金字塔頂層的使用者!就算是100M/40M的使用者,都應該不會覺的insoelr的速度緩慢!

對金字塔底層的2M/64K使用者來說,不管是開啟什麼網站,速度應該都差不多,絕對不會認為insoler網站特別慢。

蘇言霖 2018/10/16 0 376
Comments
Order by: 
Per page:
 
  • There are no comments yet
Rate
0 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
2018/10/16 (714 days ago)
Actions