APP執行緩慢5個原因及解決方案
APP終端使用者總在抱怨應用遲鈍,老闆也為此苦惱。而這種壓力,恰恰成為運維部門徹底修復應用的動力。可從哪兒著手呢?讓我們先來分析一下最常見的五種導致應用緩慢的原因,然後再對症下藥,找到並修復它們吧!
1 客戶端緩慢
問題:當今基於web的應用傾向於將使用者互動工作(通常伴隨大量資料)推送到客戶端工作站。從那裡,JavaScript程式碼會處理成百上千行的資料,而這些資料,在客戶端顯示更新前會導致數秒的停頓。
解決方案:藉助高質量的應用效能管理(APM)系統,比如SteelCentral AppResponse,可以很輕鬆地發現具有此類內部處理延遲的客戶端,並區分是應用暫停還是人類“思考時間”延遲。
2 伺服器緩慢
問題:伺服器團隊不喜歡聽到應用效能緩慢是由伺服器緩慢引起的這類指責,但是引起應用效能緩慢的最常見原因就是應用或伺服器本身,而不是網路。
現代應用通常部署在多層基礎設施上:
(1)前端Web伺服器與應用伺服器進行對話,應用伺服器與查詢一個或多個資料庫伺服器的中介軟體伺服器進行對話
(2)然後,這些伺服器都可能會與DNS伺服器進行通訊,以查詢IP地址或將其對映回伺服器名稱上
當這種情況發生時,只有一個薄弱環節會使整個應用變慢。
解決方案:為了發現問題的根源,我們必須瞭解一個應用中多個元件之間的互動情況。這一過程被稱作應用依賴關係對映(ADM),用已有的監測解決方案所提供的資訊作為APM整合方案的一部分。
幸運的是,網路為ADM提供了一個非常有利的位置,這意味著網路團隊在很大程度上為應用和伺服器團隊提供幫助。但需要記住一點,藉助資料包捕獲工具來確定是網路還是應用的問題可能需要花費很多時間。
為了節省時間,某些領先的應用效能管理系統可以快速方便地找出導致應用效能遲緩的根源。一旦建立起適當的監測點和基本配置,就能即刻帶來投資回報且便於使用。此外,收集到的資訊還可以為APM軟體提供了自動繪製關鍵應用依賴關係圖所需的輸入。
3 小型資料庫
問題:在帶有小資料集的快速區域網上開發的應用在實驗室中似乎執行得很順利。然而,一旦投入生產網路,一切就都不復存在了。而且,隨著資料庫的不斷增長,當機時間也會不斷加長。
解決方案:在此情況下,使用新型APM解決方案進行快速分析,可能會看到一個關鍵的中介軟體伺服器正在多次向資料庫伺服器發出請求。實際上,只有一個客戶端請求就可能會引發多個資料庫請求或傳輸大量的資料。更簡單高效的資料庫查詢通常能夠解決這個問題。
在另一個例項中,資料庫伺服器可能需要花費幾秒鐘的時間才能將資料返回到中介軟體或應用伺服器中。然後,應用團隊可以使用APM系統來識別違規查詢。
4 頻繁對話
問題:應用遲緩的另一個常見原因是頻繁對話:一個應用伺服器,或是客戶端本身,會代表執行該應用的人員發出很多小的請求來執行一次交易。
然而,隨著虛擬化技術的出現,伺服器團隊可能已經將伺服器映像自動遷移到輕載主機。這可能會將伺服器映像移動到遠離其他伺服器或磁碟儲存系統幾毫秒的位置。而且毫秒可以快速堆積。
解決方案:要解決此問題,需要掌握系統之間和系統連線到網路的請求數量,以及請求之間的延遲情況。
5 網路服務遲緩
問題:最後,網路服務遲緩會降低應用效能,但這並不涉及到網路本身,而是大多數基於網路的應用所依賴的服務。
想象一個對不存在的主DNS伺服器進行查詢的應用。在沒有響應的情況下,應用在嘗試查詢第二個DNS伺服器之前必須超時第一個請求。在這種情況下,應用會週期性變慢,但卻在其他時間執行良好。
解決方案:像這樣的間歇性問題通常會很難診斷,但這卻是像SteelCentral AppResponse這樣的APM系統的用武之地,它能持續監測和記錄所有交易。只需確定效能緩慢的時間,並找出資料中問題的根源,接下來修復它們只是分分鐘事。
好買網 IT技術交易平臺 壹脈銷客V3.0.0版本,適合政企單位的宣傳展示名片系統Java原始碼等
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008684/viewspace-2838724/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mac 下 Docker 執行較慢的原因分析及個人見解MacDocker
- 電腦開機慢反應慢是什麼原因 電腦開機緩慢執行遲鈍怎麼解決
- 兩行命令解決 Windows 下 Homestead 執行緩慢的問題Windows
- CentOS 7 下Tomcat啟動超慢的原因及解決方案CentOSTomcat
- GitHub下載慢的原因及解決方法Github
- jDeveloper執行慢解決方式Developer
- sql語句執行緩慢分析SQL
- Redis緩衝區溢位及解決方案Redis
- 造成黏包的原因,及解決方案
- App 冷啟動緩慢出現白屏之終極解決方案 — IntentService 高效非同步處理APPIntent非同步
- 解決 Windows 系統使用 Homestead 執行 Laravel 本地專案響應緩慢問題WindowsLaravel
- [20181119]sql語句執行緩慢分析.txtSQL
- 討論TableLayoutPanel載入緩慢和閃爍問題解決方案
- nodejs埠被佔用原因及解決方案NodeJS
- SpringBoot整合Redis亂碼原因及解決方案Spring BootRedis
- vue-router懶載入速度緩慢問題及解決方法Vue
- 多執行緒的安全問題及解決方案執行緒
- 解決 Windows 系統使用 Homestead 執行 Laravel 本地專案響應緩慢問題(轉)WindowsLaravel
- Solaris Linux SSH緩慢診斷與解決Linux
- No bean named 'xxx' is defined錯誤,原因及解決方案Bean
- 調節閥振動原因分析及解決方案
- Handler記憶體洩漏原因及解決方案記憶體
- 家庭電氣火災原因分析及解決方案
- spring.jackson.date-format失效原因及解決方案SpringORM
- 多執行緒併發同步問題及解決方案執行緒
- 使用 docker-sync 解決 docker for Mac 啟動的虛擬容器程式執行緩慢的問題DockerMac
- 解決 macOS HomeBrew 下載緩慢的問題Mac
- mysql同步(複製)延遲的原因及解決方案MySql
- Java程式碼執行記憶體溢位詳解及解決方案Java記憶體溢位
- CRM執行慢?一招教你輕鬆解決
- 多執行緒併發執行及解決方法執行緒
- Mysql 非同步複製延遲的原因及解決方案MySql非同步
- Could not obtain transaction-synchronized Session for current thread原因及解決方案AIsynchronizedSessionthread
- JS定時器不可靠的原因及解決方案JS定時器
- 學習記錄:MySQL碎片化的原因及解決方案?MySql
- Oracle EXPDP自動備份緩慢問題解決Oracle
- [20210518]ssh ip登入緩慢問題解決.txt
- stackoverflow 開啟緩慢- win10解決辦法詳解Win10