was数据库连接池配置
‘壹’ 安装完成was8.5,怎么部署 配置oracle数据源
1.安装前的准备工作
1).安装软件包。
2).修改系统参数。
3).配置DNS。
4).配置HOSTS。
5).创建组、用户和目录。
6).设置环境变量。
7).配置SSH用户等效性。
8).配置时间同步服务。
9).安装cuvqdisk包。
10).CVU验证安装环境。
11).创建ASM磁盘。
2.安装Oracle软件和创建数据库。
这个步骤就是开始安装Oracle软件(Grid、Database等),如果前面的工作做到位,那么这一步是非常easy的工作。软件安装完成之
后,通过dbca命令来创建数据库。Oracle软件的安装主要分为三步,分别是:拷贝软件、执行脚本(root.sh等)、执行后续的配置工作。
3.数据库创建完成后的配置工作。
这步同样是非常重要,大部分工程师都会忽略这步,或简单做做,下面以个人经验讨论这步应该完成的工作。
1).尝试重启服务器,观察数据库是否能够正常的自动启动。
2).数据库数据文件大小的调整(数据文件、Redo文件大小及个数,临时文件)。
3).修改数据库为归档模式。
4).执行数据库全库备份。
5).配置备份策略。
6).修改操作系统级别的优化参数(例如,Hugepage等)。
7).修改数据库级别的参数(例如,SGA、PGA、session数、process数等)
8).调整应用连接池等配置。
9).RAC特性测试(例如,负载均衡、Failover)。
‘贰’ 在Web.config里怎么配置数据库连接池
--在WEB.config配置下面的节点,connectionstring写的是连接数据库的字符串datasource是填写的数据库,initialcatalog是连接的数据库名称,user id是连接数据的账户名,password是账户的密码
<connectionStrings>
<add name="connstring" connectionString="Data Source=.\HH;Initial Catalog=stu;User ID=sa;Password=123;"/>
</connectionStrings>
--在web应用层获取这段数据库连接字符串的语句是
ConfigurationManager.ConnectionStrings["connstring"].ToString()
‘叁’ websphere 数据库连接池比其他连接池好么
websphere的连接池
还是先来段题外话:记得有人说过,websphere只有版本6以后才算是websphere,个人很赞同。websphere 5以及以前的版本。。。还是忘了吧。
其实websphere的连接池秉承ibm一贯的风格:功能强大,使用复杂:
进入控制台使用“JDBC提供程序”功能菜单进行连接池的基本配置,一路下来,不同的数据库配置方式不尽相同,最奇怪的是还要单独手工加上user和password参数,如果没有
资料指导的话还真是摸不着头脑。这些基本设置还是网上找吧很多的。连接池设置完还需要设置数据源,jndi名字一样与之前的对应:jdbc/myapp
高级设置包括初始化连接数,最大连接,连接有效性检查,不使用超时。
连接池监控:使用运行监控菜单,里边会有一个监控项目选择,选jdbc监控即可,可恶的是一开始弹出什么服务器操作系统需要安装什么图形化控件,选择是那么就得去找到控件在操作系统(linux)下安装,然后很多的依赖组件都没有。。。搞了半天才发现选择否,监控数据以及图形一样能出来嘛,真是要怒了。
虽然经过一番波折但是监控的内容还是很强大的,就连接池来说一样包括当前连接数、曾经达到的峰值、可以使用的连接数、从数据库打开的连接数、曾经关闭的连接数。。。其中前3项是我最关注的,比较奇怪的现象是应用刚启动的时候已开启的连接数量竟然没有达到初始定义的连接数量,不清楚websphere是怎么个计算机制。
另外在压力大的时候可使用的连接数会是负数,当时很奇怪,想想也了然了,那个负数肯定是排队等待的数量了
使用评价:在具体项目应用中,此连接池的持续运行的稳定性相当强,在大并发量的压力下性能也足够优秀,另外在一些异常情况下连接池里的连接能够及时释放,连接池监控配置有些复杂,但是配置好后各项指标一目了然并且有图形显示 。
总结:
这种商业级别的连接池功能强大,使用稳定,性能优秀,监控到位。
下面这个话题可能和比较本身没有直接关系,但个人认为应该是更有价值的一些经验分享吧,那就是---这么多指标配置,那些最大和最小连接数以及其他一些必要的配置指标,在一个正式的生产项目中到底应该配置什么值呢?
其实这个值首先还是要根据具体的项目情况、数据规模以及并发数来制定的(尽管像是套话,但是我们研发人员严谨的作风还是必要的:)。具体而言在中型偏小型的项目--给个数值把,用户数300到3000,数据量100万到1亿---中,建议websphere最小200最大300,前提是设置的最小内存要在1G以上,当然如果条件允许内存越大越好,不过32位机内存1.5G的限制是一定的(64位嘛我愿意设个4G内存过来,速度提升的感觉很爽啊)。这个数字出来以后相信会有不少问题要抛过来,
1 为什么是200或300而不是更高?
回答: 再分配多了效果也不大了,一个是应用服务器维持这个连接数需要内存支持,刚才说了32位的机器只能支持到1.5G,并且维护大量的连接进行分配使用对cpu也是一个不小的负荷,因此不宜太大。
2 为什么不小一点?
回答: 如果太小,那么在上述规模项目的并发量以及数据量上来以后会造成排队现象,系统会变慢,数据库连接会经常打开和关闭,性能上有压力,用户体验也不好。
3 为什么websphere最小最大不一样
回答: 其实和分配内存的最小最大值的情况一样,一般都推荐2个值应该一致,都放在内存里就好了嘛。但是ibm官方推荐2个值要有区别---官方说法还是要听的
4 其他开源连接池的分配方案还没说呢?
回答: 开源的个人认为到100就可以了,再高他也不会太稳定,当然1G的最小内存是一定要给tomcat分的
连接先建立一些连接,并且这些连接允许共享,因此这样就节省了每次连接的时间开销。Mysql数据库为例,连接池在Tomcat中的配置与使用。
1、创建数据库Student,表student
2、配置server.xml文件。Tomcat安装目录下conf中server.xml文件。
<GlobalNamingResources>
<Resource
name="jdbc/DBPool"
type="javax.sql.DataSource"
password=""
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/student"
maxActive="3"
/>
</GlobalNamingResources>
name:指定连接池的名称
type:指定连接池的类,他负责连接池的事务处理
url:指定要连接的数据库
driverClassName:指定连接数据库使用的驱动程序
username:数据库用户名
password:数据库密码
maxWait:指定最大建立连接等待时间,如果超过此时间将接到异常
maxIdle:指定连接池中连接的最大空闲数
maxActive:指定连接池最大连接数
3、配置web.xml文件。
<web-app>
<resource-ref>
<description>mysql数据库连接池配置</description>
<res-ref-name>jdbc/DBPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
4、配置context.xml文件
与server.xml文件所在的位置相同。
<Context>
<ResourceLink
name="jdbc/DBPool"
type="javax.sql.DataSource"
global="jdbc/DBPool"
/>
</Context>
5、测试
DataSource pool = null;
Context env = null;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
env = (Context)new InitialContext().lookup("java:comp/env");
//检索指定的对象,返回此上下文的一个新实例
pool = (DataSource)env.lookup("jdbc/DBPool");
//获得数据库连接池
if(pool==null){out.printl("找不到指定的连接池!");}
con = pool.getConnection();
st = con.createStatement();
rs = st.executeQuery("select * from student");
}catch(Exception ex){out.printl(ne.toString());}
‘伍’ 如何配置数据库连接池的线程数
显着影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标,数据库连接池正是针对这个问题提出的.
数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,这样可以明显提高对数据库操作的性能.
数据库连接池在初始化的时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是又最小数据库连接数来设定的,无论这些数据库连接是否被使用,连接池都将一直保证至少
‘陆’ java数据库连接池配置的几种方法
数据库连接池的主要操作如下:
(1)建立数据库连接池对象(服务器启动)。
(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。
(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。
(4)存取数据库。
(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。
(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
‘柒’ 什么是数据库连接池,有什么作用
数据库连接是一种有限的昂贵的资源,
数据库连接影响到程序的性能指标。
数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、
管理和释放数据库连接,
它允许应用程序重复使用一个现有的数据库连接,
而再不是重新建立一个;
释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数
据库连接而引起的数据库连接遗漏。
这项技术能明显提高对数据库操作的性能。
‘捌’ 请教was配置数据库中 连接池数据源和XA数据源区别
1.下载驱动的jar文件。
到microsoft官方网站下载sqlserver的jdbc驱动,其中主要有两个文件:sqljdbc.jar和sqljdbc4.jar
将这两个jar文件拷贝到websphere的安装路径下。
2.设置websphere的环境变量。
设置MSSQLSERVER_JDBC_DRIVER_PATH变量,指向官方驱动jar文件所存放的目录。
3.新建JDBC提供程序。
数据库类型:用户定义的
实现类名: com.microsoft.sqlserver.jdbc.
com.microsoft.sqlserver.jdbc.SQLServerXADataSource〔用于XA数据源〕
类路径: ${MSSQLSERVER_JDBC_DRIVER_PATH}/sqljdbc.jar 或是
${MSSQLSERVER_JDBC_DRIVER_PATH}/sqljdbc4.jar〔只适用于JDK1.6环境〕
‘玖’ 数据库连接池配置多少合适
不会啊,你想快的话当然是直接JDBC这样会更快,
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
所以说,你自己这样是测试不出来的。