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之间的地理距离而添加的推迟是固定的,但是可可以有机会减少特定于使用户网络的“拓扑”推迟。确保你至少涵盖以下内容:
利使用CDN
假如您有一个构建在Force.com站点上的公共页面,并且没有通过SSL提供服务,salesforce提供了一个缓存选项,允许您利使用我们合作伙伴的内容交付网络(CDN)。CDN通过从地理位置更靠近使用户的缓存服务器上提供静态资源来提高页面加载时间。这种方法对减少网络推迟也有相似的效果。
带宽利使用率最大化
假如您知道您有一个本地分支办公室,它的吞吐量有限,许多使用户共享这条线,那么这可可以是需要研究的内容。然而,让1Gbps企业骨干离开您的办公室并不意味着您不必担心带宽,由于带宽利使用率受到推迟和TCP窗口大小的限制。对于涉及到的所有各方来说,控制TCP窗口大小配置可可以并不容易,但是对于存在问题的用户机PC来说,这是一个值得研究的调优机会。有关细节,请阅读下面的内容。要理解更多关于用salesforce的带宽需求,请阅读本文的帮助文章。
假如您将Salesforce之外的服务集成为应使用程序设计的一部分,请考虑以下内容:
确保您的页面加载时间目标不仅在您的开发试验室设置中得到满足,而且对于具备额外推迟或者次优网络连接的远程使用户也是如此。研究web页面优化技术以及消除网络瓶颈以减少网络时间。这将确保您不会听到终端使用户“为什么我的页面加载时间这么长?”
我的世界Java版WIN10基岩版正版游戏Minecraft微软激活码大师收藏版 PC电脑 官方礼品卡25位数字兑换码国际服
pc中文正版 steam 过山车之星 Planet Coaster CDK激活码 模拟 建造 管理 沙盒 单人
Steam正版国区 天际线内容主题包DLC激活码全DLC 模组补充包 城市都市Cities Skylines地图包2 载具 摩天大楼
PC影子战术将军之刃 将军之刃影子战术游戏CDK激活码 正版steam游戏Shadow Tactics: Blades of the Shogun
PC中文 steam正版游戏 骑马与砍杀战团 合集 国区激活码CDkey
Steam PC正版 游戏 休闲合作游戏 萌猫公园 萌猫乐园PICO PARK 激活码 cdkey 国区礼物 全新成品号