關於Jerry Low
WebHostingSecretRevealed.net (WHSR) 的創始人 - 他的托管評論文受到 100,000 用戶的信任和使用。 在網絡託管、聯盟營銷和 SEO 方面擁有超過 15 年的經驗。 ProBlogger.net、Business.com、SocialMediaToday.com 等的貢獻者。
即使是網站所有者中最新手也曾在某些時候或其他時候測試過他們的 網站效果. 然而,大多數這些測試通常集中在 裝車速度 or 用戶體驗指數.
但是負載測試呢?
儘管大多數網站的流量水平通常很正常,但有時某些站點可能不得不處理沉重的負載。 這些示例包括在線商店,甚至一些政府網站。
如果您的網站在短期內出現意外的訪問量激增,您將如何處理?
負載測試是對網站進行基準測試,以查看其在各種負載下的性能。
例如,一個測試可以模擬越來越多的同時訪問者登陸您的網站。 它還將記錄您的網站如何處理它們並記錄它們以供參考。
根據您選擇用來對站點進行負載測試的工具,每個工具可能具有不同的功能。 最基本的操作只是模擬不斷增加的負載,並在站點崩潰時停止。
其他工具可能能夠生成模擬負載,以模擬不同的用戶行為,例如執行查詢,更改頁面或加載其他功能。 有些甚至可能能夠為每個單獨的方案繪製邏輯流程。
根據其複雜性,某些負載測試工具可能非常昂貴。 但是,市場上有更便宜的選擇,有些甚至可以免費使用。 我在下面提供了這些內容的混合體供您參考,其中包括幾個開源選項。
Loadview是市場上可用的更完整的解決方案之一,今天基於雲服務模型。 這意味著無論您需要哪種模擬,您都只需為服務付費–硬件或其他任何東西的投資為零。
從功能上講,Loadview提供了一個非常複雜的解決方案,其中可以包含所有內容。 HTTP負載測試 您選擇的複雜組合。 它能夠在測試中模擬動態變量甚至地理位置的多樣性。
使用 LoadView 安排探索電話(15 分鐘)或免費演示(1 小時)。 他們的性能工程師將引導您完成腳本和執行過程 > 立即安排免費演示.
K6是作為服務提供的基於雲的開源負載測試工具。 使該工具變得有趣的一件事是,它以可變使用模型定價,這意味著根據您的需求,入門成本可能相對較低。 但是,它主要以開發人員為中心。
除了負載測試,K6還提供性能監控。 它的負載測試側重於高負載,並可以處理各種模式,例如峰值,壓力測試和耐久測試。
* K6不在瀏覽器中運行,也不在NodeJS中運行
加載忍者使您可以基於記錄的腳本對真實的瀏覽器進行加載測試,然後幫助分析性能結果。 它大規模使用了真實的瀏覽器,這意味著該工具有助於重新創建更真實的環境和最終測試結果。
可以實時分析結果,並且借助系統提供的便捷工具,您的腳本編寫時間可以減少多達60%。 內部應用程序也可以使用基於代理的固定IP或您自己的動態IP範圍(通過使用白名單)進行測試。
借助支持50個虛擬用戶進行測試的入門級免費社區帳戶,即使最新的網站所有者也可以使用LoadRunner。 但是,如果將其擴展到較高級別,則成本將成倍增加。
這種基於雲的解決方案還提供了用於單元測試的集成開發環境。 它支持廣泛的應用程序環境,包括 Web、Mobile、WebSockets、Citrix、Java、.NET 等等。 請注意,LoadRunner 可能非常複雜並且學習曲線陡峭。
與到目前為止的內容相比,Loader是一個更簡單,更基礎的工具。 它的免費計劃支持多達10,000個虛擬用戶的負載測試,這足以滿足大多數中等流量的網站的需求。
不幸的是,您將需要製定付費計劃才能訪問更多高級功能,例如高級分析,並發測試和優先級支持。 儘管基本上只添加站點,指定參數然後運行測試,但它卻易於使用。
加特林有兩種版本,開源或企業版。 前者使您能夠與自己的開發管道集成進行負載測試。 它包括網絡記錄器和計劃的報告生成器。 企業版具有本地部署,或者您可以選擇基於以下版本的雲版本: 亞馬遜網絡服務(AWS).
儘管這兩個版本都是功能豐富的,但企業版支持開源未提供的一些其他功能。 例如,它具有更可用的管理界面並支持更廣泛的集成。
Grinder一直都是開源的,可能是該列表上唯一真正免費的選項。 但是,它必須在自己的開發環境中本地運行,並且需要一些額外的功能(例如Java)才能工作。
但是,由於它是開源的,因此已被廣泛採用,並且開發人員提出了許多插件,這些插件在使用能力和功能方面都大大擴展了它。 儘管如此,除非您是開發人員或有一定專心的人,否則Grinder對於您來說可能會很少使用。
如果您看過大多數可用的工具,您可能會注意到其中許多工具提供了試用帳戶或某種形式的有限免費版本。 這使得它們易於被廣泛的受眾使用。
大多數網站所有者需要關注 託管服務器性能 因為它的影響遠遠超過 簡單的用戶體驗。 對於許多企業主而言,您網站的可用性也與品牌聲譽有關。
成長中的站點需要特別注意用於以下目的的資源的可用性和可伸縮性: 託管您的網站。 在大多數情況下,用戶響應時間的很大一部分花費在網站的表面上。 但是,隨著網站流量的增長,這種情況可能會改變。
通常,更多的流量意味著後端處理的增長不成比例,並且隨著峰值的增加,您的系統將難以承受。 這很大程度上取決於您的網站開發所特有的變量,因此不可能為您提供大量的訪問者,這時將發生這種情況。
為了真實地了解您的網站性能,您需要進行負載測試。 確切的時間是有爭議的,但是我的建議是提前計劃並儘早進行測試。
顧名思義,您的核心功能應該是網站在負載下的運行方式的基礎。 這將使您觀察許多事情,例如:
當我提到不同的站點如何根據其體系結構做出不同的反應時,這是一個信號,旨在讓您了解並非所有站點也會以相同的方式失敗。 一些數據庫密集型站點 在這一點上可能會失敗,而其他人可能會受苦 IO故障 基於服務器連接負載。
因此,您需要準備進行各種測試,以了解您的站點和服務器在各種情況下如何應對。 基於這些內容,請密切關註一些關鍵指標,例如服務器響應時間,出現的錯誤數量以及這些錯誤可能位於哪些區域。
生成複雜的腳本和運行以及隨附的邏輯可能很困難。 我建議您逐步進行負載測試。 從蠻力測試開始,該測試將在不斷增加的流量下簡單地測試您的站點。
隨著經驗的積累,添加諸如可變行為之類的其他元素,隨著時間的推移開發腳本和邏輯。
在進行負載測試時,從基礎入手總比根本不入門好。 如果您是所有這些的初學者,請嘗試在備用鏡像上或在可能的情況下進行離線測試–如果可以,請避免對實時站點進行負載測試!
如果您現在才剛開始,請確保創建測試記錄。 性能測試 隨著網站的發展,它應該伴隨著它的發展。 這個過程可能很累,但請記住,沒有記錄會使您將來的評估變得更加困難。