• 性能报告 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        

  • 相关阅读:
    高程5.4 RegExp类型
    高程5.3 Date类型
    高程5.2.9归并方法
    20151119js上课总结
    从0~100之间随机取出不重复的10个数
    高程5.2.8迭代方法
    HTML常用标签
    20151118小问题
    20151117小问题
    《QT Creator快速入门》
  • 原文地址:https://www.cnblogs.com/zc22/p/1795244.html
Copyright © 2020-2023  润新知