我正在使用 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 &