性能报告 DotNet测试MYSQL报告(和Java对比)


使用了dottrace跟踪,使用了自己的持久层框架。

插入总数100条,循环10次。

测试分类:每条数据单独插入、100条数据一次开链接插入、开事务插入。

测试结果:

all

Time Elapsed: 25,089ms AVERAGE: 2.5 SEC

CPU time: 515,625,000ns

Gen 0: 29

Gen 1: 3

Gen 2: 0


single

Time Elapsed: 33,095ms AVERAGE:3.3 SEC

CPU time: 4,062,500,000ns

Gen 0: 195

Gen 1: 33

Gen 2: 0


transaction

Time Elapsed: 1,560ms AVERAGE: 0.15 SEC

CPU time: 1,015,625,000ns

Gen 0: 111

Gen 1: 3

Gen 2: 0

Proflier:

 

明细:

 

这里说明了,

TOTAL: 85,000 ms

1. 性能损失有1.16%在获取表结构:这里最伤性能是在:Pixysoft.EnumCoder.ToEnum(string) 0.47% = 667ms

2. GetAutoInsertSting 损失了 0.86% = 1.225ms

3. NoebeParameterCollection.add = 964ms

4. NoebeParameterCollection.AddType = 1.004 ms

5. Pixysoft.SQLCoder.Hasparameter = 1.097ms

6. MYSQlClient.connection.open = 46.754ms

7. MySQLClient.Command.ExecuteNonQuery = 26.345ms 

Java操作相同的数据库性能报告:

自定义主键插入测试

数据压力(条)

Hibernate

Pure JDBC

JDBC Framework BATCH

100

1742.2

1698.4

53.4

300

5065.6

5092.2

107.6

500

8487.5

8450

145.5

1000

17131.3

17132.8

233

这里说明了dotnet的驱动很有问题,比java慢了1倍!!! 

表结构:

//Table        Create Table                                 

    //-----------  ---------------------------------------------

    //tc_manualpk  CREATE TABLE `tc_manualpk` (                 

    //               `COL_PK` int(11) NOT NULL AUTO_INCREMENT,  

    //               `COL_VARCHAR1` varchar(255) DEFAULT NULL,  

    //               `COL_VARCHAR2` varchar(255) DEFAULT NULL,  

    //               `COL_VARCHAR3` varchar(255) DEFAULT NULL,  

    //               `COL_VARCHAR4` varchar(255) DEFAULT NULL,  

    //               `COL_DATETIME1` datetime DEFAULT NULL,     

    //               `COL_DATETIME2` datetime DEFAULT NULL,     

    //               `COL_INT1` int(11) DEFAULT NULL,           

    //               `COL_INT2` int(11) DEFAULT NULL,           

    //               `COL_DOUBLE1` double DEFAULT NULL,         

    //               `COL_DOUBLE2` double DEFAULT NULL,         

    //               `COL_BLOB` blob,                           

    //               `COL_INDEX` varchar(255) DEFAULT NULL,     

    //               PRIMARY KEY (`COL_PK`),                    

    //               KEY `NewIndex1` (`COL_INDEX`)              

    //             ) ENGINE=InnoDB DEFAULT CHARSET=utf8        

原文地址:https://www.cnblogs.com/zc22/p/1795244.html