增加 grails 中的池大小没有效果?

问题描述 投票:0回答:0

我正在使用 JMeter 对 grails 4.0.10 应用程序进行负载测试。该应用程序连接到 mysql 8 数据库。我用的jdk是jdk 8.

我正在测试模拟 2000 名用户同时尝试注册的注册功能。

注册过程包括以下步骤:

我首先使用这个数据库和池大小配置进行测试

production:
    dataSource:
        #            dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        dbCreate: none
        url: jdbc:mysql://localhost:3306/dev2?useUnicode=yes&characterEncoding=UTF-8
        username: root
        password: password


        properties:
            minimumIdle: 5
            maximumPoolSize: 10
            poolName: main-db
            cachePrepStmts: true
            prepStmtCacheSize: 250
            prepStmtCacheSqlLimit: 2048
            useServerPrepStmts: true
            useLocalSessionState: true
            rewriteBatchedStatements: true
            cacheResultSetMetadata: true
            cacheServerConfiguration: true
            elideSetAutoCommits: true
            maintainTimeStats: false

使用此数据库配置,我获得的成功注册数是 1167.

之后我将池大小更改为 10 倍。

production:
    dataSource:
        #            dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        dbCreate: none
        url: jdbc:mysql://localhost:3306/dev2?useUnicode=yes&characterEncoding=UTF-8
        username: root
        password: password


        properties:
            minimumIdle: 50
            maximumPoolSize: 100
            poolName: main-db
            cachePrepStmts: true
            prepStmtCacheSize: 250
            prepStmtCacheSqlLimit: 2048
            useServerPrepStmts: true
            useLocalSessionState: true
            rewriteBatchedStatements: true
            cacheResultSetMetadata: true
            cacheServerConfiguration: true
            elideSetAutoCommits: true
            maintainTimeStats: false

使用此配置,我获得的成功注册总数为 1169.

注册失败显示的错误是这样的

我的问题是为什么数据库配置更改没有生效?我做错了什么吗?

非常感谢您的帮助。我已经被困了一段时间了。

更新:

我正在独立运行 grails 应用程序。我在我的服务器上使用以下命令。

nohup java -Dgrails.env=prod -Duser.timezone=US/Mountain -jar RoadRace4-0.1.jar &
mysql grails connection-pooling grails-4
© www.soinside.com 2019 - 2024. All rights reserved.