Salesforce架構師的網絡最佳實踐”

  • 時間:2018-07-15 23:03 作者:智能時刻 來源:智能時刻 閱讀:308
  • 掃一掃,手機訪問
摘要:2014年7月升級對于在Salesforce平臺上實現應使用程序的架構師或者開發人員來說,在分析應使用程序性可以時,網絡性可以測試變得越來越重要。本指南涵蓋了幫助您識別風險并找到網絡相關挑戰的處理方案的最佳實踐。詳情分析應使用程序性可以和運行性可以測試是關鍵的“試驗室”活動,以驗證您的Apex和SO
Salesforce架構師的網絡最佳實踐”

2014年7月升級

對于在Salesforce平臺上實現應使用程序的架構師或者開發人員來說,在分析應使用程序性可以時,網絡性可以測試變得越來越重要。本指南涵蓋了幫助您識別風險并找到網絡相關挑戰的處理方案的最佳實踐。

詳情

分析應使用程序性可以和運行性可以測試是關鍵的“試驗室”活動,以驗證您的Apex和SOQL代碼是為可擴展性而優化的,Visualforce頁面設計是遵循最佳實踐的。但是,為了確保您的應使用程序已經為現實世界做好準備,您還需要考慮到使用戶將從具備不同級別網絡連接的不同地理位置訪問它。作為架構師,您的任務是成功地啟動一個應使用程序,即便用這種網絡變體,該應使用程序也可以運行良好。您一定不希望在產品上線后聽到終端使用戶說“為什么我的頁面加載時間這么長,而我的同事能在一秒鐘內加載它?”繼續閱讀,學習最佳實踐,幫助您識別風險,并作為架構師找到處理網絡相關挑戰的方法。

評估Salesforce使用戶的網絡性可以

假如有人問“為什么我的頁面加載時間這么長,而我的同事能在一秒鐘內加載它?”“使用戶的設置可可以不同,呈現內容的時間和大小也不一樣。”為了確保你在將蘋果和蘋果進行比較,并將重點放在網絡上,你必需有一個理想的受控設置:

在兩個或者多個不同的位置至少有兩個幾乎相同的終端(PCs)。在地理上更接近Salesforce數據中心(即:,以及其余遠程站點(例如。)。

用相同的瀏覽器和使用戶(或者使用戶集)訪問目標(例如,Visualforce頁面),以排除盡可可以多的變量。

用相同的工具來度量時間(以下部分將對此進行解釋)。

在相似的時間范圍內運行測試,以評估與網絡帶寬相關的問題,并屢次排除緩存影響。

假如您無法訪問遠程位置來運行測試,那么能用Charles或者Shunra之類的工具以及netem和ipfw之類的實使用工具來人為地增加推遲和帶寬限制,以模擬不同的網絡環境。

一旦有了受控的測試設置,您即可以收集基準統計數據并用它們來迭代地評估性可以調優工作。不論你如何設置你的測試,或者者你選擇用什么工具來運行它們,我們最終追求的是兩件事:

  • 減少負載。
  • 減少網絡推遲。

為了簡單起見,我們將在下面幾節中逐一探討。但是,請記住,這兩者都要看,而不僅僅是一個。

減少負載

減少有效載荷的目標是減少網絡時間。因為您正在測試和比較內容大小一致的相同頁面,因而在服務器端和在用戶端呈現的時間應該非常類似。下載資源所花費的時間差異越大,與請求的總持續時間相比,它所占的比例越大,通過檢查頁面設計和減少負載,您可可以會得到更多的網絡性可以改進。

您不需要用花哨的應使用程序性可以監視(APM)工具來評估負載。您能用免費的瀏覽器工具來收集關鍵指標。Chrome、Firefox和Internet Explorer都有相似的工具,它們能為您提供從頁面請求發送到Salesforce到使用戶感知到頁面被“加載”到整個呈現過程完成的時間的圖形表示。您還能用Fiddler或者Charles等工具進行高級分析。

當這樣做時,不要太過迷于字節大小,工具會顯示每個被下載的資源。交換數據不會按位(或者按字節交換數據)進行。它們以分組的形式通過電線傳送。例如,假如您解決了幾個映像文件以減少這里和那里的少量字節,但是沒有看到性可以有多大的提高,很可可以是由于您沒有減少每個資源下載的數據包的實際數量。假如你有一個高度圖形化,動態頁面有很多資源,比方圖像、CSS或者者JS文件,結合他們或者拼接,而后削減他們可可以會有更大的效果比減少一小部分的大小和依然需要十(希望不是數百)資源并行下載。您還能用其余通使用的web應使用程序優化技術來最小化下載負載、減少往返行程和握手等。

更重要的是,確保檢查Visualforce性可以最佳實踐,并在Salesforce1平臺上構建高效的Visualforce頁面。例如,刪除不必要的Visualforce標記,這會添加頁面視圖狀態的大小。通過仔細選擇使用戶所需的字段和用諸如分頁之類的技術,限制在頁面上加載和顯示的數據量。假如您有一個多步驟的向導應使用程序,該應使用程序將引導使用戶遍歷一個流程,請考慮實現一個處理方案,使頁面之間的轉換成為無狀態。假如您有一個允許使用戶用大量字段升級記錄的表單,那么只發送delta信息,而不發送整個數據集。

減少網絡推遲

當您通過優化應使用程序來減少目標頁面的有效負載時,您還應該在得出結論之前查看網絡層,您無法使最終使用戶更接近Salesforce服務器。

您能用諸如Traceroute (Traceroute)或者更高級的工具來進行更深入的分析。在salesforce,我們有幾個第三方工具能持續地監視和收集各種網絡相關的度量,我們還能根據需要部署這些工具,以便從遠程站點處理問題(請聯絡用戶支持以取得幫助)。這些工具能讓我們很好地理解RTT、BGP路由以及幫助發現問題區域的包丟失率等細節。下面幾節將解釋如何用這些度量來確定如何減少網絡時間。您最有可可以參加您的IT、網絡工程或者ISP團隊,以獲取統計數據并進行深入分析。

減少推遲

用Salesforce時,大多數瀏覽器頁面或者移動應使用程序請求都是突發的事務,每個請求都需要屢次往返Salesforce服務器,以建立連接、發送/接收數據,并確認交換的每個數據包。

從網絡的角度來看,你應該注意兩個關鍵方面:

  • 實例不是分布在多個數據中心(除了在地理遠程數據中心待命的災難恢復克隆之外)。換句話說,在任何特定的時刻,使用戶事務都是連接到我們的數據中心的。
  • Salesforce.com采使用與經營商無關的體系結構,它通過連接到多個行業領先的網絡供應商,這些供應商直接位于每個數據中心邊界的邊緣,擁有高帶寬的骨干。這提供了冗余和靈活性,以便為通過Internet連接的使用戶提供最佳的網絡性可以。

盡管因為使用戶和Salesforce之間的地理距離而添加的推遲是固定的,但是可可以有機會減少特定于使用戶網絡的“拓撲”推遲。確保你至少涵蓋以下內容:

  • 優化BGP - BGP路由在確定數據包通過internet發送時的推遲方面起著重要作使用。在極端的情況下,您的數據包能通過更長的方式在全球發送到Salesforce,也能跳過過多的中繼點,每次都添加了推遲。盡管優化BGP有時更像是一門藝術,而非科學,但我們在仔細研究和改變網絡路由偏好之后,看到了巨大的收獲。用網絡監視和分析工具,比方千分之一和Appneta提供了發現問題的洞察力。
  • 避免不穩固路徑——最短路徑不肯定是最好的路徑。考慮因為網絡穩固性問題的影響,如數據包丟失和數據抖動。假如任何一端在給定的時間范圍內都沒有收到預期的包(例如,放棄等待另一端確實認),那么它將重新提交最后一個包,而后等待屢次,每次都乘以并添加總體推遲。因為RTOs和SRTTs的添加,地理推遲的影響變得更糟。與BGP分析相似,監視工具能識別具備穩固性問題的路徑。基于調查,您能與您的網絡團隊和isp一起優化路由,以修復或者避免已知的具備穩固性問題的路徑。這將導致數據包重新傳輸的減少,這意味著在冗余的數據包交換上白費的時間更少。
  • 識別瓶頸——您的網絡中可可以存在一個正在添加推遲的中間設施。通過用Wireshark之類的工具,并與您的IT/網絡團隊和Salesforce支持緊密合作,包級跟蹤分析可可以會發現與次優或者在您的辦公室或者托管數據中心中配置不當的設施相關的優化機會。您可可以還會發現,除了salesforce提供的資源之外,對其余資源的訪問也顯示出性可以問題。
  • 避免重定向——每個重定向增加到整個RTT中,并導致許多往返重定向服務器的往返,以完成SSL握手。評估并避免不必要的重定向。例如,啟使用My Domain并將登錄請求指向My Domain URL,而不是常規登錄頁面。假如已經實現了SSO,請確保將SAML斷言發送回My Domain端點。請參閱本指南,理解能應使用于減少因為重定向造成的推遲的其余技術。

利使用CDN

假如您有一個構建在Force.com站點上的公共頁面,并且沒有通過SSL提供服務,salesforce提供了一個緩存選項,允許您利使用我們合作伙伴的內容交付網絡(CDN)。CDN通過從地理位置更靠近使用戶的緩存服務器上提供靜態資源來提高頁面加載時間。這種方法對減少網絡推遲也有相似的效果。

帶寬利使用率最大化

假如您知道您有一個本地分支辦公室,它的吞吐量有限,許多使用戶共享這條線,那么這可可以是需要研究的內容。然而,讓1Gbps企業骨干離開您的辦公室并不意味著您不必擔心帶寬,由于帶寬利使用率受到推遲和TCP窗口大小的限制。對于涉及到的所有各方來說,控制TCP窗口大小配置可可以并不容易,但是對于存在問題的用戶機PC來說,這是一個值得研究的調優機會。有關細節,請閱讀下面的內容。要理解更多關于用salesforce的帶寬需求,請閱讀本文的幫助文章。

集成設計注意事項

假如您將Salesforce之外的服務集成為應使用程序設計的一部分,請考慮以下內容:

  • 能用mashup (i-frame)技術直接與用戶端進行調使用,而不是通過salesforce平臺進行屢次往返。這種方法對減少網絡推遲也有相似的效果。
  • 握手和數據傳輸最小化(通過批解決和壓縮)以減少有效負載也很重要。應該仔細調整超時設置,以平衡推遲,避免占使用連接太長時間。對于API調使用,并行化(假如可可以的話)能幫助減輕推遲的少量負面影響。
  • 冪等性也是一個關鍵的設計考慮因素,尤其是在網絡連接不佳的情況下。您應該假設在完成之前任何事務都可可以失敗,并且所有來自遠程服務器/服務的請求都應該工作,并且只工作一次,以允許多個重試,而不會帶來數據完整性問題。

總結

確保您的頁面加載時間目標不僅在您的開發試驗室設置中得到滿足,而且對于具備額外推遲或者次優網絡連接的遠程使用戶也是如此。研究web頁面優化技術以及消除網絡瓶頸以減少網絡時間。這將確保您不會聽到終端使用戶“為什么我的頁面加載時間這么長?”

  • 全部評論(0)
最新發布的資訊信息
【系統環境|】Java開發人員的就業優勢在哪里?看完你心動了嗎?(2019-09-25 21:31)
【系統環境|】學HTML5開發前景怎么樣?Web前端和Java誰的薪水高?(2019-09-20 16:22)
【系統環境|】web前端開發需要學習哪些技術(2019-09-17 18:00)
【系統環境|】學習web前端開發是正確的選擇(2019-09-15 16:55)
【系統環境|】干貨整理!零基礎html5網站開發學習步驟方法(保存不后悔)(2019-09-10 16:27)
【系統環境|】「前端入門」前端基本概念(2019-09-07 21:36)
【系統環境|】小白入門學習web前端,這些干貨不能少(2019-09-05 20:59)
【系統環境|】不是計算機專業,哪個專業更適合學習web前端(2019-09-03 20:31)
【系統環境|】入行web前端開發可以做什么工作(2019-09-02 20:51)
【系統環境|】什么是Web前端呢?為什么說web前端開發人員的薪資高、前景好呢?(2019-08-31 20:55)
手機二維碼手機訪問領取大禮包
返回頂部
澳洲幸运10精准人工计划