歡迎光臨
每天分享高質量文章

10種最常見的Web應用程式的性能問題

Web應用程式總是不可避免的會發生問題。Neotys公司(法國一家負載測試解決方案提供商)的業務主要是通過網站監控和測試幫助您避免這些問題。但任何地方都可能出問題,有時候你只需要知道去哪找就可以了。因此,我們將您經常碰到的一些性能問題並整理成一個簡短的指引。

請務必要記住,解決性能問題的最佳方式就是在其影響用戶之前就發現並消除。一個良好的維護計劃可以成為你的好幫手。制定停機時間策略,創建冗餘和擴展計劃。為用戶負載在一個月或一年後可能會達到的量級做提前的思考。當然,首先要定期做測試負載並持續監控產品性能。

無論你對網站考慮得如何周全,但是有些問題總是要發生的。下麵是一些常見性能問題的原因和解決辦法。

問題 1: 糟糕的代碼

糟糕的代碼會使Web應用程式出現諸如演算法低效、記憶體上限溢位、以及死鎖等問題。軟體版本過舊,或是集成了歷史遺留的系統同樣會拖累性能。確保你的團隊成員都在使用適合其崗位的工具 – 從自動化分析到最佳編程實踐的代碼審查工具。

問題 2:未經優化的資料庫

優化好的資料庫可以達到很好的安全級別和處理性能,反之,沒有優化的資料庫可能會拖垮生產環境下的應用程式。索引的缺失會減慢SQL的查詢性能,從而使整個網站變慢。一定要用腳本和檔案分析檢查任何低效的查詢。

問題 3:失控的資料增長

資料系統一般會隨時間的推移變慢。制定一項計劃來管理和監控資料,因為維持資料的增長對高性能的Web應用不可或缺。首先,找出業務中導致資料增長的主因。然後,研究並制定合適的儲存解決方案。留意所有資料庫、快取、以及更複雜儲存方案的選項。

問題 4:流量峰值

我們通常認為流量的增長是件好事。但是當做完市場推廣或是經歷了瘋狂傳播的熱門視頻後,應用程式如果沒有做好相應的準備,任何人都知道流量峰值會造成什麼結果。提前準備是關鍵,同時搭建一個通過模擬用戶做監測的預警系統例如 NeoSense。這樣一來,你就會提前發現流量增長影響到了業務,從而避免了用戶的糟糕體驗。

問題 5:糟糕的負載分發

糟糕的分發機制會將新的請求分配到已經當機的服務器,而不是備用待機服務器上,導致服務器響應速度急劇變慢。如果過多的人同時訪問同一個服務器,即使這個系統性能遠低於瓶頸,還是會造成這樣的問題。利用類似NeoLoad的工具測試產品勢在必行,它有助於你發現任何薄弱的環節。

問題 6:預設設置

系統必須適當調整。預設設置會讓一個新的組件很容易啟動並運行,但對真正生產環境中的Web應用程式來說未必適合。檢查每一項設定:執行緒數、記憶體和權限分配。確保所有的配置引數匹配Web應用程式的要求,而不是僅僅為了方便。

問題 7:DNS,防火牆,網絡連接

DNS 查詢占用了大部分的網站流量。這也是為什麼DNS出了問題會引起很多麻煩,阻止訪問者正常訪問,丟擲錯誤頁面、404、以及錯誤路徑。同樣的,網絡連接和防火牆的效率也是網站訪問能力和性能的關鍵。使用DNS監控保障措施,以便找出手頭的問題。此外還可以修改交換機、檢查VLAN標記、以及為不同服務器分配任務。上述也只是解決這類性能的一小部分方法。

問題 8:第三方服務出了問題

如果你的系統依賴了第三方服務,那麼有些變慢的問題是你無法掌控的。誰沒有經歷過由於第三方廣告服務緩慢導致頁面加載的阻塞呢。如果你的用戶碰到了這類問題,必須確定問題是出在你的網站還是第三方。如果一定要用第三方服務,調整網站時儘量減少因第三方服務出問題帶來的不利影響。最後,確保線下服務提供商為公司提供明確的性能保障。

問題 9:共享資源和虛擬機

現如今幾乎所有的Web應用程式,從擴展到管理再到系統恢復,都依賴於虛擬服務器。可有時候上百個虛擬系統跑在了一個物理的服務器上,結果就會變成一個虛擬機掛掉會影響到所有其它的。畢竟,資源搶奪總是存在的。密切監控系統,當其中一個虛擬機出了問題,你可以很快處理其產生的副作用。

問題 10:多米諾骨牌效應

最後,一定要意識到某一個錯誤有可能會影響到其它很多你想不到的方方面面。多個問題會糾纏在一起,讓人很難確定到底發生了什麼。你需要訓練團隊發現問題根源,通過回溯找到真正的罪魁禍首。你甚至可以考慮Netflix 公司的 Chaos Monkey 模擬策略,通過引入網絡異常來探測系統彈性和恢復的能力。

積極主動地解決性能問題

目前你對常見的性能問題有了一個大致印象,事先做更高級別的用戶負載測試是非常必要的。看下這些相關文章,闡釋瞭如何搭建高用戶負載的服務器。一旦用戶開始使用你的網站,就可以利用產品環境中測試(TiP)流程。最後,使用模擬用戶腳本來模擬用戶導航和購買業務,從而獲得反映網站短板的更準確資料。

原文出處:www.neotys.com

譯文出處:伯樂在線 – Sandy

鏈接:http://web.jobbole.com/82268/



赞(0)

分享創造快樂