网络可视化
桑基图用于理解单个网络路径和延迟时特别有效。但当试图显示整个网络时,d3noob实例的局限性就暴露出来了。而我们的需求是采用一个易于使用的工具将复杂的网络图可视化。可用的工具很多,尤其在社交网络分析这方面,NodeXL是最适合这一目的的工具。
“NodeXL是Microsoft? Excel? 2007、2010 和(可能)2013免费的开源模板,它使得网络图像探索变得轻松。有了NodeXL,我们可以在工作表中输入网络边缘列表,然后点击按钮查看图像,所有的内容都呈现在熟悉的Excel窗口里。”
我们将所有网络延迟段信息输入到同一工具里,并期望它能帮助我们确定任意特定路由问题。NodeXL所带来的视图效果还有很多,在这里我们并没有全部采用(像节点图片等)。
性能良好的网络段通过基于标签的“动态过滤器(Dynamic Filter)” 可以简单地过滤掉。这种情况下,该标签是网络延迟的数值表征。我们还未探索的可能性是创建源到目的地网络延迟计算的交互总值。尽管它会是个有趣的功能,但并非是必须的。从之前的分析中,我们已经有了总的源到目的地的测量值。
为了调查正确的路由方向,可以将图像属性从未定向改成定向。
在该实例中,图中间的“diamond”看起来比较可疑。该工具有简单的缩放功能。
上图显示了部分通信从“E”跳转到“J”的两种路径,分别是“HH”和“II”。“II”路由的延迟要比“HH”路由高。该信息可以很容易地传递到网络管理团队,并用于项目内的沟通。我们期望网络团队能调查“diamond”存在的原因,并提供合适的解决方案。
通过上述步骤,我们对应用程序和地点性能的理解不再是个谜团,是时候开始专注关键的性能改进了。想要理解哪个改进是关键的,性能测试结果需要与非功能需求进行对比。这可以使用带有过滤功能的Circos或带有图像和表格的Excel可视化功能来完成。
下表显示了每个地点响应时间的分析总结。SLA列值是从表中检索出来的,用来确保SLA的简单管理,以防止任何变化。
该总结图表可以如下蜘蛛网图来显示。
同样的方法也需要应用到网络延迟和吞吐量SLA的测量及比较。
现在我们所拥有的关键调查结果包括:
1.我们知道业务流程中哪些步骤有性能问题。
2.我们知道哪个地点有性能问题。
3.我们知道网络延迟和带宽测量值。
下一个步骤我们需要进一步深入获取有性能问题的业务流程详情。之前的步骤允许我们非常有效地走到这一步。
现在我们要做的是回答以下这些问题:
1.应用程序是否要下载多个静态对象?如果是,那么这些对象能否缓存到本地,从而避免网络下载?能否降低数量或将对象组合起来?
2.应用程序是否繁重,其繁重性是否随着数据处理量的增加而增加?在该示例中,应用程序可以按顺序针对每个事项在服务器中调用一个更新。如果只是手动测试中的10个事项则完全没有问题,但如果是在SUPT时使用的真实数据量达到500至1000个事项的话,对性能将会有显著的影响。
3.应用程序是否要下载或上传大型对象,比如:文档、图像等?扫描仪的设置会极大地增加扫描文件的大小,却不会显著地提高其质量。检测扫描文件的大小会明显地影响上传和下载时间。另外,带宽也会随之大幅度地增加。
总的说来,该单用户性能测试方法的目的在于通过在全球不同内部地点内对真实数据量的使用,从而让我们对应用程序性能能有个早期的概念。使用适当的现代可视化工具能帮助我们快速地分析与性能相关的数据,并定位性能问题。对上述方法和工具的使用也确保了其结果能在项目中传递的同时,被技术或非技术人员理解。