JDBC连接池设置
Posted 宜学IT
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC连接池设置相关的知识,希望对你有一定的参考价值。
今天我们来看一下 JDBC Connection Configuration的配置参数。
参数说明如下。
名称:该组件名称,可以随意设置,甚至可以为空。
注释:可以随意设置,可以为空。
variable Name Bound to Pool- Variable name:连接池名称, JDBC Request通过此名称来获取连接池中的连接;可以随意填写,最好具有业务意义,至少让你能够秒懂。还有一条,在整个测试计划中这个名称最好唯一,如果有多个 JDBC Connection Configuration,且名称重复,你让 JMeter如何去做选择呢?
Max Number of Connections:连接池的最大连接数。
Pool TimeOut:连接超时设置。
Idle Clean Up Interval:空闲连接清理时间间隔。
Auto Commit::事务是否自动提交选项,比如 Oracle执行一条更新操作,不 Commit-下,数据是不会更新到库中的,这个选项帮我们自动提交。
Transaction Isolation:JDBC事务控制选项,在此就啰嗦一下数据库事务。
说起数据库事务大家脑海里闪现的应该是ACID这个词吧?
(1)A原子性( atomicity):事务是数据库的逻辑工作单位,对于其数据修改,要么全部执行要么全部不执行。
(2)C一致性( consistency):事务在完成时,必须是所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。
(3)I隔离性( isolation):一个事务的执行不能被其他事务所影响。
(4)D持久性( durability):一个事务一旦提交,事物的操作便永久性地保存在数据库中。
即使此时再执行回滚操作也不能撤消所做的更改。
为了保证维护事务的ACID属性,就产生了锁这种机制,用来做事务隔离,隔离级别有几种呢,就是我们在Transaction Isolation下拉列表中看到的。
TRANSACTION_NONE:不支持事务, TRANSACTION_ NONE=0
TRANSACTION_READ_UNCOMMITTED:允许脏读、不可重复读和幻读。
RANSACTION_READ_ UNCOMMITTED=1
TRANSACTION_ READ _COMMITTED:禁止脏读,但允许不可重复读和幻读
TRANSA CTION _READ_ COMMITTED=2
TRANSACTION _REPEATABLE_ READ:禁止脏读和不可重复读,允许幻读。
TRANSACTION_ REPEATABLE _READ=4
TRANSACTION _SERIALIZABLE:禁止脏读、不可重复读和幻读, TRANSACTION_SERIALIZabLE= 8
另外还有一个选项 DEFAULT,这是JMeter加上去的,默认值是-1,其实是 TRANSACTION_READ_ COMMITTED,即禁止脏读,但允许不可重复读和幻读。
上面提到了脏读,下面来解释一下脏读。
脏读:一个事务读取了另外一个事务未提交的数据。
不可重复读取:一个事务再次读取之前的数据时,这个数据已经被另外一个事务修改。
幻读:一个事务重新执行一个查询,返回的记录包含了其他事务提交的新记录。
Keep- Alive:是否保持与数据库的连接。
Max Connection age:连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃。
当然正在使用的连接不会马上断开,而是等待它close再断开,配置为0的时候则不会对连接的生存时间进行限制,单位毫秒。
Validation Query:验证SQL语法。
Database URL:JDBC连接字符串,JDBC连接字符的格式是固定的,我们在此用的与程序员用的也是一样,为了省去大家找这些字符串的麻烦,下面列出常用的连接串,驱动包大家可以自行下载。
Driver="com.Mysql.jdbc Driver";
URL="jdbc:mysq1:// localhost:{端口}/{数据库名}";
orac1e(用thin模式):
Driver="oracle.jdbc driver. OracleDriver”;
URL="jdbc:oracle: thin: @loaclhost: (端口): {SID}";
Micsoft SQL Server
Driver="com. Microsoft. Sqlserver. jdbc. SQLServerDriver”;
URL="jdbc: microsoft: sqlserver:/ localhost::(端口}; DatabaseName={数据库名}”;
Sysbase:
Driver="com.sybase.jdbc. SybDriver”;
URL="jdbc: Sysbase:// localhost:{端口}/(数据库名}";
PostgreSQL:
Driver=”org. postgresql. Driver”;
URL="jdbc: postgresql: //localhost/db_name”;
DB2:
Driver="com.ibm.db2.jdbc,app.DB2. Driver”;//装有DB2客户端
Driver="com.ibm.db2.jdbc.net.DB2. Driver";//未装DB2客户端
URL=" jdbc:db2:// localhost:{端口}/(数据库名}”;
JDBC-ODBC:
Driver="sun jdbc odbc. JdbcOdbcDriver";
URL="jdbc:odbc:{数据源名}";
JDBC Driver class:驱动类名,上面的 Driver对应的内容即是。
Username:连接数据库的用户名。
Password:连接数据库的密码。
参照上面的说明,你应该能够配置好 JDBC Connection Configuration,注意端口、用户名别出错:另外还有一个重要工作,需要把驱动包放到% METER HOME%lib目录下。
全国软件技术交流群
长按扫码可关注
以上是关于JDBC连接池设置的主要内容,如果未能解决你的问题,请参考以下文章