CYQ.Data 批量添加数据性能测试(每秒千、万)
来源:互联网 发布:域名申请的方法与步骤 编辑:程序博客网 时间:2024/04/28 06:22
折腾的种类也不少:
感觉这软件折腾的不错~~~值的期待~~~
另外,他指出CYQ.Data 在他的软件里表现不佳~~~~
所以我要了他的测试实例看看是怎么写的测试代码:
测试的过程,大体是开了N个线程,循环N次执行这样的函数。
找到表现不佳的原因,并解决:
中间纷纷绕绕的讲了一些各大ORM测试的实例编写不同问题,不过有一句,倒引起了我的注意,说平均400毫秒左右。
于是我本地测试了一下,结果找出AOP读取配置文件的一个小BUG,这个小BUG在每次new MAction时产生个被捕获的小异常,这个小异常不影响使用,但会占用2毫秒以上时间~~~
所以整个评测都是不断的new MAction的情况,就是大事件了,这就是整体评测都不佳的原因了。
OK,修正这个小Bug后,下面来演示一下批量插入功能:
看看1万条数据,插入需要多长时间:
数据库为MSSQL 2005 CPU为i3,4G内存,数据表Consumer共4个字段。
每个示例前后都会truncate table Consumer;
第一种编码方法:通过不断的new MAction来实现插入,1万条用了6秒多,平均每秒插入1600条左右:
第二种编码方法:把for往里面移动,先不开启事务,1万条用了4秒多,平均每秒插入2500条左右:
第三种编码码方式,开启启事务呢,1万条用了2秒多,平均每秒插入4000条左右:
第四种编码方式:使用MDataTable的实现批量插入,1万条用了0.6秒多,平均每秒插入2万条左右:
事实上,时间是花在数据的实体转Table的过程,如果把这一块时间分出,只计算数据库批量插入的时间:
10万条用了0.8秒多,平均每秒插入10万条以上:
总结:
今天的测试,仅是做为样式供参考,不同的编码方式,实际上产生的性能点不同的,根据项目需要编程才是重点。
从07年开始写ORM框架,大大小小的框架写过很种风格,但真正的精华作品,却仅此一种。
另外其它多种ORM类型的比较,就等火晋地同学之文章了。
- CYQ.Data 批量添加数据性能测试(每秒千、万)
- CYQ.Data 批量添加数据性能测试(每秒千、万)
- CYQ.Data 数据框架 性能评测
- CYQ.Data 轻量数据访问层(一) 概述
- CYQ.Data 轻量数据层之路 MDataTable 绑定性能优化之章(十一)
- CYQ.Data V5 批量插入与批量更新示例
- CYQ.Data 数据框架系列索引
- 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能
- CYQ.Data 轻量数据层之路 使用篇-MAction 增删改 视频[高清无码带音乐-千王之王] G (二十六)
- CYQ.Data 轻量数据访问层(二) 构造数据单元(上)
- CYQ.Data 轻量数据访问层(三) 构造数据单元(下)
- CYQ.Data 轻量数据访问层(四) 构造数据单元列
- CYQ.Data 轻量数据访问层(五) 构造数据行
- CYQ.Data 轻量数据访问层(六) 构造数据表
- CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)
- JDBC批量插入数据的性能测试
- SQL批量数据导入,性能测试
- getHibernateTemplate 批量添加数据及简单测试
- 数组中重复的数字
- 秋色园网站转移过程记录篇
- 框架设计之ADO.NET Command的ExecuteScalar误用情景及底层解说
- 电子商务网站SQL注入项目实战一例
- CodeFirst实战:用文本数据库存档软件配置
- CYQ.Data 批量添加数据性能测试(每秒千、万)
- 突破瓶颈,对比学习:Eclipse开发环境与VS开发环境的调试对比
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- CYQ.Data V4系列全面开源(2013-08-04)
- CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)
- linux系统入门遇到的问题
- .NET各大平台数据列表控件绑定原理及比较(WebForm、Winform、WPF)
- 那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)