7月25日——菜鸟工作记录

今天做了一些测试和实验,主要是想了解Oracle在我现有的测试环境下能达到多大的并发,询问师傅后,师傅说测试工具自己写,也一并介绍了两款软件,OrionLoadrunner,后者是收费的。于是,自己写好了。

下午调试好数据库后,开始进行实验。首先看了相应的文档,然后活跃利用两个动态性能视图,v$sessionv$processv$session10g11g都加上了很多性能方面的字段,对收集数据来说v$session越来越方便了,不过今天主要测试的还是系统并发,连接数之间的一些压力测试。测试环境16Inter Xeon 4CPU64G内存的服务器,Oracle 11gOK,用Java写了一个连接数据库操作(如果我能在实习之前把Perl学完,那该多好啊,后面就能简化很多工作)。代码很简单,就是一个Connection 数组,长度为150,一个for循环执行150次,每次循环就是一个Connection对象连接数据库,简单的说就是一次循环一个连接。好的,第一次执行JAVA程序就爆掉了,不断select count* from v$session;还不到150session就出现上限了,于是JAVA程序返回错误,已经连接进来的连接开始销毁。Oracle初始化参数Processes设置150,然后监控select count*from v$process,看到149后爆掉。至此,得到第一个dedicated server方式的瓶颈——processes参数。原先是想设置Shared server试试的,后询问黄忠,从黄忠处得知这台测试机大概可以设置2000左右processes,并且机子许可情况下尽量不要用shared server

遂继续测试,processes设置1500JAVAConnection数组增长到1500,循环1200次,JAVA程序再次爆掉,还是不断select count* from v$process;才645,我去。第二次瓶颈,于是以为是PGA不够,遂设置PGA的目标值为1G,继续测试,还是645爆掉。查看v$pgastatPGA的使用情况,PGA才使用600M左右,百思不得其解,求问师傅浔阳。从浔阳第一句回答就是反问JAVA的内存是否遇到瓶颈,或者其他资源。遂继续测试,得到JAVA程序中for循环次数上限值为618时程序不会接收到错误,在此之下再开一个sqlplus,连接成功(如果是数据库或者系统资源的问题,在登录时会产生错误提示,这个在processes参数为150时,已有149oracle进程的情况下再登录sqlplus就会提示错误登录失败),果真是JAVA的问题,于是分两次执行同一个JAVA程序,进程到达了1250+PGA超过了设定目标值,使用达到了1.3G左右,从文档中也可以得知,PGA的目标值只是一个目标,提供PGA的自动管理,在实习条件允许的情况下就算超过目标值也不会暂时造成PGA的瓶颈。种种原因今天的测试与学习先暂放一个段落等待明天继续,随后补充一些相关的知识来更完善测试。

小总结为,并发连接数与processes参数有关,而这个processes参数则与服务器的一些硬件的性能相关,包括内存等。并发连接数还与PGA有关。今天的测试还未达到PGA的瓶颈,不过PGA的瓶颈据我目前猜测是否也与系统内存相关,等待测试。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22232708/viewspace-703099/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22232708/viewspace-703099/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值