﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-PS，1880后程序员-文章分类-Java性能</title><link>http://www.blogjava.net/amenglai/category/53220.html</link><description>看不完的牙，写不完的程序，跑不完的步。13年Java开发经验，10年产品开发经验，2013年准备换工作。</description><language>zh-cn</language><lastBuildDate>Mon, 14 Jan 2013 09:52:50 GMT</lastBuildDate><pubDate>Mon, 14 Jan 2013 09:52:50 GMT</pubDate><ttl>60</ttl><item><title>Oracle 11g 数据库连接池DBCP和Proxool性能对比</title><link>http://www.blogjava.net/amenglai/articles/394182.html</link><dc:creator>amenglai</dc:creator><author>amenglai</author><pubDate>Mon, 14 Jan 2013 06:27:00 GMT</pubDate><guid>http://www.blogjava.net/amenglai/articles/394182.html</guid><wfw:comment>http://www.blogjava.net/amenglai/comments/394182.html</wfw:comment><comments>http://www.blogjava.net/amenglai/articles/394182.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/amenglai/comments/commentRss/394182.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/amenglai/services/trackbacks/394182.html</trackback:ping><description><![CDATA[<p><strong><span style="font-family:宋体;">背景</span></strong></p>  <p style="text-indent:21.0pt;"><span style="font-family:宋体;">公司的产品一直使用的是</span>DBCP<span style="font-family:宋体;">作为连接池。但是最近在客户环境发现当并发增加时，宕机鸟。已经对数据库查询进行了优化，但是还是会发生</span>Tomcat<span style="font-family:宋体;">宕机的情况，想到更换数据库连接池。</span></p>  <p style="text-indent:21.0pt;">But<span style="font-family:宋体;">换或者不换都要有数据佐证喽。因此着手测试对比。</span></p>  <p><strong><span style="font-family:宋体;">测试环境</span></strong></p>  <table border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none;">  <tbody><tr>   <td width="284" valign="top" style="width:213.05pt;border:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-family:宋体;">应用服务器</span></p>   </td>   <td width="284" valign="top" style="width:213.05pt;border:solid black 1.0pt;   border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p>Tomcat 5.5</p>   </td>  </tr>  <tr>   <td width="284" valign="top" style="width:213.05pt;border:solid black 1.0pt;   border-top:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-family:宋体;">测试工具</span></p>   </td>   <td width="284" valign="top" style="width:213.05pt;border-top:none;border-left:   none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt">   <p>JMete 2.8</p>   </td>  </tr>  <tr>   <td width="284" valign="top" style="width:213.05pt;border:solid black 1.0pt;   border-top:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-family:宋体;">数据库</span></p>   </td>   <td width="284" valign="top" style="width:213.05pt;border-top:none;border-left:   none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt">   <p>Oracle 11g</p>   </td>  </tr> </tbody></table>  <p>DBCP &amp; Proxool</p>  <table border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none;">  <tbody><tr>   <td width="284" valign="top" style="width:213.05pt;border:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt">   <p>maxId</p>   </td>   <td width="284" valign="top" style="width:213.05pt;border:solid black 1.0pt;   border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p>10</p>   </td>  </tr>  <tr>   <td width="284" valign="top" style="width:213.05pt;border:solid black 1.0pt;   border-top:none;   padding:0in 5.4pt 0in 5.4pt">   <p>minId</p>   </td>   <td width="284" valign="top" style="width:213.05pt;border-top:none;border-left:   none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt">   <p>5</p>   </td>  </tr> </tbody></table>  <p><span style="font-family:宋体;">测试场景：系统登录（一次登录操作需要</span>&gt;14<span style="font-family:宋体;">次的数据库连接操作）</span></p>  <span style="font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;Times New Roman&quot;;"><br clear="all" style="page-break-before: always" /> </span>  <p>&nbsp;</p>  <p><strong><span style="font-family:宋体;">测试结果（</span>20</strong><span style="font-family:宋体;">秒内模拟</span>50<span style="font-family:宋体;">个进程循环</span>3<span style="font-family:宋体;">次<strong>）</strong></span><strong></strong></p>  <p>DBCP</p>  <table border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none;">  <tbody><tr>   <td width="65" style="width:48.85pt;border:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">sampler_label</span></p>   </td>   <td width="74" style="width:55.8pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_count</span></p>   </td>   <td width="47" style="width:35.45pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">average</span></p>   </td>   <td width="108" style="width:81.15pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_median</span></p>   </td>   <td width="114" style="width:85.6pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_90%_line</span></p>   </td>   <td width="95" style="width:71.3pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_min</span></p>   </td>   <td width="96" style="width:72.3pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_max</span></p>   </td>   <td width="96" style="width:71.75pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_rate</span></p>   </td>   <td width="120" style="width:90.1pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_bandwidth</span></p>   </td>  </tr>  <tr>   <td width="65" style="width:48.85pt;border:solid black 1.0pt;border-top:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">login:HTTP</span><span style="font-size:11.0pt;font-family:宋体;color:black">请求</span></p>   </td>   <td width="74" style="width:55.8pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">150</span></p>   </td>   <td width="47" style="width:35.45pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">6906</span></p>   </td>   <td width="108" style="width:81.15pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">6262</span></p>   </td>   <td width="114" style="width:85.6pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">13137</span></p>   </td>   <td width="95" style="width:71.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">461</span></p>   </td>   <td width="96" style="width:72.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">16022</span></p>   </td>   <td width="96" style="width:71.75pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">3.071505</span></p>   </td>   <td width="120" style="width:90.1pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">1.643735</span></p>   </td>  </tr>  <tr>   <td width="65" style="width:48.85pt;border:solid black 1.0pt;border-top:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;font-family:宋体;color:black">总体</span></p>   </td>   <td width="74" style="width:55.8pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">150</span></p>   </td>   <td width="47" style="width:35.45pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black;background:yellow;">6906</span></p>   </td>   <td width="108" style="width:81.15pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">6262</span></p>   </td>   <td width="114" style="width:85.6pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black;background:yellow;">13137</span></p>   </td>   <td width="95" style="width:71.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">461</span></p>   </td>   <td width="96" style="width:72.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">16022</span></p>   </td>   <td width="96" style="width:71.75pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">3.071505</span></p>   </td>   <td width="120" style="width:90.1pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">1.643735</span></p>   </td>  </tr> </tbody></table>  <p>proxool</p>  <table border="1" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none;">  <tbody><tr>   <td width="65" style="width:48.85pt;border:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">sampler_label</span></p>   </td>   <td width="74" style="width:55.8pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_count</span></p>   </td>   <td width="47" style="width:35.45pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">average</span></p>   </td>   <td width="108" style="width:81.15pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_median</span></p>   </td>   <td width="114" style="width:85.6pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_90%_line</span></p>   </td>   <td width="95" style="width:71.3pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_min</span></p>   </td>   <td width="96" style="width:72.3pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_max</span></p>   </td>   <td width="96" style="width:71.75pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_rate</span></p>   </td>   <td width="120" style="width:90.1pt;border:solid black 1.0pt;border-left:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">aggregate_report_bandwidth</span></p>   </td>  </tr>  <tr>   <td width="65" style="width:48.85pt;border:solid black 1.0pt;border-top:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;color:black">login:HTTP</span><span style="font-size:11.0pt;font-family:宋体;color:black">请求</span></p>   </td>   <td width="74" style="width:55.8pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">150</span></p>   </td>   <td width="47" style="width:35.45pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">2959</span></p>   </td>   <td width="108" style="width:81.15pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">3165</span></p>   </td>   <td width="114" style="width:85.6pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">4620</span></p>   </td>   <td width="95" style="width:71.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">8</span></p>   </td>   <td width="96" style="width:72.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">5522</span></p>   </td>   <td width="96" style="width:71.75pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">4.797083</span></p>   </td>   <td width="120" style="width:90.1pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">5.380354</span></p>   </td>  </tr>  <tr>   <td width="65" style="width:48.85pt;border:solid black 1.0pt;border-top:none;   padding:0in 5.4pt 0in 5.4pt">   <p><span style="font-size:11.0pt;font-family:宋体;color:black">总体</span></p>   </td>   <td width="74" style="width:55.8pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">150</span></p>   </td>   <td width="47" style="width:35.45pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black;background:yellow;">2959</span></p>   </td>   <td width="108" style="width:81.15pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">3165</span></p>   </td>   <td width="114" style="width:85.6pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black;background:yellow;">4620</span></p>   </td>   <td width="95" style="width:71.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">8</span></p>   </td>   <td width="96" style="width:72.3pt;border-top:none;border-left:none;border-bottom:   solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">5522</span></p>   </td>   <td width="96" style="width:71.75pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">4.797083</span></p>   </td>   <td width="120" style="width:90.1pt;border-top:none;border-left:none;   border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;   padding:0in 5.4pt 0in 5.4pt">   <p align="right" style="text-align:right"><span style="font-size:11.0pt;color:black">5.380354</span></p>   </td>  </tr> </tbody></table>  <p>&nbsp;</p>  <p><strong><span style="font-family:宋体;">结论</span></strong></p>  <p style="margin-left:21.0pt;text-indent:-21.0pt;"><span><span>1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">从以上测试结果看，</span>proxool<span style="font-family:宋体;">的性能明显优于</span>DBCP<span style="font-family:宋体;">。</span></p>  <p style="margin-left:21.0pt;text-indent:-21.0pt;"><span><span>2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family:宋体;">另外针对</span>Tomcat 5.5<span style="font-family:宋体;">和</span>Tomcat 6.0<span style="font-family:宋体;">也做了测试，发现</span>Tomcat<span style="font-family:宋体;">不同版本间的差异并不大，因此决定暂时不更换应用服务器。</span></p>  <p>&nbsp;</p>  <p><strong><span style="font-family:宋体;">下一步</span></strong></p>  <p><span style="font-family:宋体;">利用</span>jrockit<span style="font-family:宋体;">分析系统内存泄露情况，进行改进。</span></p><img src ="http://www.blogjava.net/amenglai/aggbug/394182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/amenglai/" target="_blank">amenglai</a> 2013-01-14 14:27 <a href="http://www.blogjava.net/amenglai/articles/394182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>