隨著備受矚目的冬奧會順利召開,相信大家對美輪美奐的開幕式會贊嘆不已,俗話說外行看熱鬧,內行看門道,今天小編就來談一下開幕式中跟低延遲相關的一點東西。
先來看一個來自英特爾中國的微博消息:
相信很多觀眾在沒看到這個消息前都會以為那個冰隨人動的特效是事先做好的,只是和現場演員對下時間軸,結果英特爾這一揭秘不免讓人大吃一驚,這些竟然都是實時的。還有更牛的事在后邊,現場的檢測延遲和管線延遲竟然達到了驚人的10ms和46ms。
什么是延遲?
在計算機系中中所說的延遲,一般是指生成和返回響應之前的時間延遲。通常有以下幾種來源:
網絡 I/O
磁盤 I/O
運行環境
一般情況下,對于基礎資源產生的延遲是取決于對應的設備或系統的技術水平,像英特爾展示的冬奧會開幕式的數據中心就采用了大量的新技術來降低這個延遲。而對于多數人來講,降低應用的延遲最可行的還是從優化程序代碼來入手。
在軟件領域,有許多類型的延遲。沒有應用程序可能是真正實時的即:零延遲(在程序啟動和結果交付之間經過的時間為零)。盡管如此,所有高性能應用程序的目標都是盡可能接近實時。甚至 Gartner 對零延遲的定義也承認延遲實際上永遠不可能為零,因為計算機需要時間來“思考”。
軟件延遲示例
下面是一個簡單的圖形示例,說明典型高性能應用程序的延遲情況。我們通常會發現應用的延遲大多會在一個狹窄的范圍內變化,但是偶爾會出現非常高的延遲。對于高性能應用程序,按分位數對延遲進行分組通常會產生類似于以下的圖:
Y 軸表示程序的延遲時間,X 軸是將一段時間內的所有分組為分位數的結果。藍線是每個分位數的延遲,橙線是平均延遲。
如果只看平均延遲,你可能會想“應用程序做得很好啊,大部分時間都低于平均值!”這就是問題所在。如果應用程序在大多數情況下具有可接受的延遲,但有時會出現極端延遲,你的業務可能會受影響。
如果你的客戶在每次使用產品時都非??焖俚匦枰a品的結果,但有時他們會因長時間的等待而陷入困境,他們會轉向你的競爭對手,即使競爭對手的平均延遲可能比你的應用高。
例如:金融交易、考試報名、線上購物、實時交互等場景都要求具有高性能+低延遲的應用。
一個真實的案例
某國家級考試主管單位在一次考試報名的當天,系統發生故障導致大量的用戶無法登錄。
通過基調聽云APM工具發現,當時的所有事務都出現了超時現象:
進一步分析,能夠看到當時數據庫是最大的瓶頸:
接著根據提示,一步步確認問題的位置,著手解決,包括:優化SQL、優化代碼等等。一番操作下來,系統表現有了巨大的改變。
1、應用平均響應時間大幅縮短
2、數庫執行時間大幅縮短
3、報名完成時間大幅提前
類似北京、上海這種城市的報名,以往需要近1分鐘時間完成,優化后平均4.5秒完成報名。
總結
由此可見,低延遲對于任何應用程序在業務上取得成功都至關重要,好在我們可以通過APM工具來做性能的監控與分析。基調聽云多年來致力于提供優質的APM解決方案,也曾多次獲得權威機構Gartner的認可,歡迎聯系我們了解更多關于APM的信息。
審核編輯:符乾江
-
計算機
+關注
關注
19文章
7421瀏覽量
87715 -
延遲
+關注
關注
1文章
70瀏覽量
13512
發布評論請先 登錄
相關推薦
評論