测试其实没有太多的可比较性,我主要想比较相互之间对数据访问的速度和数据传输大小的比较,Flex的性能上出乎我的意料之外
我采用的是Flex直接访问Java服务,和Silverlight 访问webservice
从同样的SQL语句得到的数据大小看,flex读取数据流量的比silverlight小5倍,原因是flex访问数据时对数据进行了压缩
从显示数据的性能看,读取服务器端1.8万条数据时,flex能够正常直接显示,但是siliverlight虽然能够正确读取数据,但是
无法在网页上显示,系统做死机状,但是如果采用客户端分页技术,silverlight也能够在2秒内显示出来。
从数据访问速度来看,webservice传输数据性能并不差,差异在传输的数据量大小,和客户端显示上。
silverlight还有一个弱点就是在浏览器上的加载速度比flex慢,因此在并发性上表现也比flex弱,但差别并不大。
测试结果让我对silverlight+webservice方式充满信心。考虑采用silverlight的主要原因是开发习惯问题
加上我对flex采用actionsrcipt这种不是主流开发语言感到不放心。
以下是测试结果,因为是Excel格式,所以在这里显示不是很方便。
网络流量对比 | |||||||
操作 | flex | 流量(bytes) | 时间 | silverlight | 流量 | 时间 | |
1980条数据 | 起始页 | helloworld.html4476 | 123 | http://10.4.106.150:9001/SilverlightApplication1TestPage.aspx | 3323 | ||
history.css | 122 | Silverlight.js | 214 | ||||
AC_OETags.js | 123 | SilverlightApplication1.xa | 213 | ||||
history.js | 124 | ||||||
helloworld.swf | 125 | ||||||
查找数据 | crossdomain.xml | 584 | 0.02 | clientaccesspolicy.xml | 312 | 0.02 | |
http://10.4.106.150:8088/flex/spring/messagebroker/amf | 534 | 0.25 | http://10.224.129.133/webservice/Service1.asmx | 316744 | 0.88 | ||
http://10.4.106.150:8088/flex/spring/messagebroker/amf;jsessionid=572836D03E6DCF81D48462DDD7D1186E | 65984 | 1.96 | |||||
合计 | 67719 | 2.23 | 320806 | 0.9(不包含初始化时间) | |||
服务器资源对比 | |||||||
连接数 | 网络带宽 | 平均事务响应时间 | 平均内存数 | 平均CPU数 | |||
30用户 | flex | 27.8 | 1967739 | 2.6 | 20% | tomcat6.0 | |
silverlight | 39.9 | 1610116 | 5.27(初始化时长较长) | 30% | IIS6.0 |