因为项目中考虑采用WEBAPI, 为了避免做到中途掉坑,所以先做几个测试。此处是数据量测试,用于评估WebApi是否可以用来替换C/S模式的大数据量的传输和展示。
测试方式:
1、建立WebApi连接数据库,取数分别1000,10000,10万,100万转换成JSON格式返回
2、通过Winform客户端WebClient异步取数,通过日志记录取数和反序列化时间。
3、全部通过本机搭建WebApi服务,不存在网络因素影响。
反序列化采用Newtonsoft.Json.JsonConvert.DeserializeObject方法,期间自己找了一个通过Regex转换DataTable的方法(JsonToDataTable),发现效率和DeserializeObject比,差了100倍以上,就不测试了-_-!
测试结果(时间:ms)
结果分析:
1000条的记录目测可能是写日志的时间相对影响大,数据偏差较大,不采用。
总结: 通过WEBAPI取数并展示比C/S直连数据库的时间效率慢32%-43%之间