<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>评论：Berkeley DB Java版性能测试</title>
	<atom:link href="http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/</link>
	<description>Oracle Berkeley DB 中国研发团队的博客</description>
	<lastBuildDate>Thu, 15 Dec 2011 10:53:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>来自：chaohuang</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-642</link>
		<dc:creator>chaohuang</dc:creator>
		<pubDate>Wed, 13 Jan 2010 02:53:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-642</guid>
		<description>通过这篇博客，我了解到有越来越多的国内用户对BDB感兴趣，也了解到一些很有意思的BDB应用案例。在此感谢各位的兴趣和回复，也算为开源社区做了点小小贡献吧。这篇文章权当抛砖引玉了，呵呵。

但由于中国这边手头研发任务的关系，另外我觉得评论回复也不是最好和最有效的方式，所以我将关闭这篇文章的评论功能，希望大家理解。

大家如果有关于BDB（包括BDB-JE和BDB-XML）的问题，欢迎发到我们的官方论坛 - 尽量用英文发帖吧（英文实在不行的，我有时间的话，再尝试帮忙翻译）。要求在发帖中：尽量说的明白，最好提供你的环境配置（CPU,I/O, Memory, OS, JDK等）、使用场景、错误报告。当然，如果你能提供一个简短的程序来重现你的问题，将会大大缩短我们分析你问题的时间，从而得到最快的答复。</description>
		<content:encoded><![CDATA[<p>通过这篇博客，我了解到有越来越多的国内用户对BDB感兴趣，也了解到一些很有意思的BDB应用案例。在此感谢各位的兴趣和回复，也算为开源社区做了点小小贡献吧。这篇文章权当抛砖引玉了，呵呵。</p>
<p>但由于中国这边手头研发任务的关系，另外我觉得评论回复也不是最好和最有效的方式，所以我将关闭这篇文章的评论功能，希望大家理解。</p>
<p>大家如果有关于BDB（包括BDB-JE和BDB-XML）的问题，欢迎发到我们的官方论坛 &#8211; 尽量用英文发帖吧（英文实在不行的，我有时间的话，再尝试帮忙翻译）。要求在发帖中：尽量说的明白，最好提供你的环境配置（CPU,I/O, Memory, OS, JDK等）、使用场景、错误报告。当然，如果你能提供一个简短的程序来重现你的问题，将会大大缩短我们分析你问题的时间，从而得到最快的答复。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Henry</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-641</link>
		<dc:creator>Henry</dc:creator>
		<pubDate>Tue, 12 Jan 2010 12:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-641</guid>
		<description>&lt;a href=&quot;#comment-637&quot; rel=&quot;nofollow&quot;&gt;@chaohuang &lt;/a&gt; 
多谢你的答复.我是资料一天存一个目录,每个目录下有2.5G资料.其实我觉得这个量也不算太大(每天的).而且我的table结构简单,感觉好像不应该那么慢.当然也不是每次50秒.平均新查询一个不在cache里的要花10-20秒(subindex 得到cursor的时间).因为查询可能跨不同天(可能365天的).我不可能把所有的资料都preload到cache.这个是正常的BDB JE的速度吗?谢谢.</description>
		<content:encoded><![CDATA[<p><a href="#comment-637" rel="nofollow">@chaohuang </a><br />
多谢你的答复.我是资料一天存一个目录,每个目录下有2.5G资料.其实我觉得这个量也不算太大(每天的).而且我的table结构简单,感觉好像不应该那么慢.当然也不是每次50秒.平均新查询一个不在cache里的要花10-20秒(subindex 得到cursor的时间).因为查询可能跨不同天(可能365天的).我不可能把所有的资料都preload到cache.这个是正常的BDB JE的速度吗?谢谢.</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：eric</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-640</link>
		<dc:creator>eric</dc:creator>
		<pubDate>Tue, 12 Jan 2010 10:18:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-640</guid>
		<description>@

&lt;a href=&quot;#comment-629&quot; rel=&quot;nofollow&quot;&gt;@Linchun Sun &lt;/a&gt; 
谢谢您的回答，我现在已经搭建了一个应用程序，在linux上用BDB，第一次启动创建表速度还很快，对这些表增加一些内容（也就几十条记录），跑两个小时，然后再次重启这个数据库的话启动速度就慢了很多，要四五分钟，不知道是什么原因导致的，也尝试修改cache大小去检测，但是发现还是很慢。若把数据库全部删除再重新启动的话启动速度又快了。好像数据库里面有一些记录就开始启动慢，记录越多，启动越慢。特咨询一下。</description>
		<content:encoded><![CDATA[<p>@</p>
<p><a href="#comment-629" rel="nofollow">@Linchun Sun </a><br />
谢谢您的回答，我现在已经搭建了一个应用程序，在linux上用BDB，第一次启动创建表速度还很快，对这些表增加一些内容（也就几十条记录），跑两个小时，然后再次重启这个数据库的话启动速度就慢了很多，要四五分钟，不知道是什么原因导致的，也尝试修改cache大小去检测，但是发现还是很慢。若把数据库全部删除再重新启动的话启动速度又快了。好像数据库里面有一些记录就开始启动慢，记录越多，启动越慢。特咨询一下。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：chaohuang</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-637</link>
		<dc:creator>chaohuang</dc:creator>
		<pubDate>Tue, 12 Jan 2010 07:45:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-637</guid>
		<description>&lt;a href=&quot;#comment-636&quot; rel=&quot;nofollow&quot;&gt;@Henry&lt;/a&gt; 
1. 你可以运行DbCacheSize这个命令行工具，得到一个cache大小设置的建议。
2. 你可以做一个测试，看看还有多少提高的余地。比如，尝试在你的机器上把2.5G的数据从一个分区copy到另一个分区。如果时间开销是30-40秒，那么算上JE本身的额外开销，我觉得你现在耗时50秒的提升余地不大；如果时间开销只要10-20秒，那么应该有较大提升的余地。你认为呢？</description>
		<content:encoded><![CDATA[<p><a href="#comment-636" rel="nofollow">@Henry</a><br />
1. 你可以运行DbCacheSize这个命令行工具，得到一个cache大小设置的建议。<br />
2. 你可以做一个测试，看看还有多少提高的余地。比如，尝试在你的机器上把2.5G的数据从一个分区copy到另一个分区。如果时间开销是30-40秒，那么算上JE本身的额外开销，我觉得你现在耗时50秒的提升余地不大；如果时间开销只要10-20秒，那么应该有较大提升的余地。你认为呢？</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Henry</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-636</link>
		<dc:creator>Henry</dc:creator>
		<pubDate>Tue, 12 Jan 2010 07:02:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-636</guid>
		<description>&lt;a href=&quot;#comment-621&quot; rel=&quot;nofollow&quot;&gt;@chaohuang &lt;/a&gt; 
谢谢,我觉得也是这个问题.但是我不可能把所有的数据都放入cache.但我觉得20万笔要花50秒在IO上(一个database,50mb log file大小,共有2.5G).好像也有问题吧.是不是我的secondary index没设好啊.我用的是BDB-JE.我目前VM memory 设定1G,Cache 350MB.因为我看文档说,cache也不一定越大越好.再次谢谢.</description>
		<content:encoded><![CDATA[<p><a href="#comment-621" rel="nofollow">@chaohuang </a><br />
谢谢,我觉得也是这个问题.但是我不可能把所有的数据都放入cache.但我觉得20万笔要花50秒在IO上(一个database,50mb log file大小,共有2.5G).好像也有问题吧.是不是我的secondary index没设好啊.我用的是BDB-JE.我目前VM memory 设定1G,Cache 350MB.因为我看文档说,cache也不一定越大越好.再次谢谢.</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：chaohuang</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-634</link>
		<dc:creator>chaohuang</dc:creator>
		<pubDate>Mon, 11 Jan 2010 03:12:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-634</guid>
		<description>&lt;a href=&quot;#comment-631&quot; rel=&quot;nofollow&quot;&gt;@loiy&lt;/a&gt; 
不错，看来提高cache大小帮你把性能提高很多 （40分钟 -&gt; 121秒）。你不妨按照前面评论提供的优化建议，进一步优化看，然后把结果再贴出来。

另外，我个人觉得如果是双核的CPU搭配1G的内存，是不是低了点？不考虑你CPU的能力，假设你是32位的总线 （现在一般前端总线速率在1000MHz），则你系统总线每秒给CPU传输数据的带宽约 1000M * 32-bit ~= 4G; 而你双核CPU每秒处理数据的量远远大于4G。建议你还是先升级内存到4G吧。</description>
		<content:encoded><![CDATA[<p><a href="#comment-631" rel="nofollow">@loiy</a><br />
不错，看来提高cache大小帮你把性能提高很多 （40分钟 -&gt; 121秒）。你不妨按照前面评论提供的优化建议，进一步优化看，然后把结果再贴出来。</p>
<p>另外，我个人觉得如果是双核的CPU搭配1G的内存，是不是低了点？不考虑你CPU的能力，假设你是32位的总线 （现在一般前端总线速率在1000MHz），则你系统总线每秒给CPU传输数据的带宽约 1000M * 32-bit ~= 4G; 而你双核CPU每秒处理数据的量远远大于4G。建议你还是先升级内存到4G吧。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：loiy</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-631</link>
		<dc:creator>loiy</dc:creator>
		<pubDate>Sat, 09 Jan 2010 07:59:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-631</guid>
		<description>现在整个程序跑完需要121秒。我的配置是双核，主频是3.0。1G内存。win2003。</description>
		<content:encoded><![CDATA[<p>现在整个程序跑完需要121秒。我的配置是双核，主频是3.0。1G内存。win2003。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：loiy</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-2/#comment-630</link>
		<dc:creator>loiy</dc:creator>
		<pubDate>Sat, 09 Jan 2010 07:53:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-630</guid>
		<description>这个我也不太清楚为什么花了那么多分钟。我测试过IO上面的时间花费，是0-300毫秒，基本都不超过100毫秒。而写数据到数据库中时间花费平均都在10-50毫秒之内。我的文档size不大，都是在10K之内。跟你说的几十秒插入100W。没得比。</description>
		<content:encoded><![CDATA[<p>这个我也不太清楚为什么花了那么多分钟。我测试过IO上面的时间花费，是0-300毫秒，基本都不超过100毫秒。而写数据到数据库中时间花费平均都在10-50毫秒之内。我的文档size不大，都是在10K之内。跟你说的几十秒插入100W。没得比。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Linchun Sun</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-1/#comment-629</link>
		<dc:creator>Linchun Sun</dc:creator>
		<pubDate>Thu, 07 Jan 2010 07:11:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-629</guid>
		<description>&lt;a href=&quot;#comment-622&quot; rel=&quot;nofollow&quot;&gt;@eric&lt;/a&gt; 
这个大小是和db的pagesize相关的。db文件的大小是pagesize的整数倍。你可以通过DB-&gt;set_pagesize()来设置这个值的大小。
如果你没有显示指定这个pagesize的值，在当前的BDB版本中，windows下pagesize的默认值是8k，linux下pagesize的值为文件系统的block size。 
你可以通过我们的文档获得更详细的信息：
http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/general_am_conf.html#am_conf_pagesize</description>
		<content:encoded><![CDATA[<p><a href="#comment-622" rel="nofollow">@eric</a><br />
这个大小是和db的pagesize相关的。db文件的大小是pagesize的整数倍。你可以通过DB-&gt;set_pagesize()来设置这个值的大小。<br />
如果你没有显示指定这个pagesize的值，在当前的BDB版本中，windows下pagesize的默认值是8k，linux下pagesize的值为文件系统的block size。<br />
你可以通过我们的文档获得更详细的信息：<br />
<a href="http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/general_am_conf.html#am_conf_pagesize" rel="nofollow">http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/general_am_conf.html#am_conf_pagesize</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：eric</title>
		<link>http://www.bdbchina.com/2009/09/berkeley-db-java%e7%89%88%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95/comment-page-1/#comment-628</link>
		<dc:creator>eric</dc:creator>
		<pubDate>Thu, 07 Jan 2010 04:51:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.bdbchina.com/?p=580#comment-628</guid>
		<description>刚刚学习BDB，发现生成的.db文件都是初始化为4k或则8k,16k的，这个大小与什么相关呢，是文件系统的簇么？是不是会根据存储内容成倍的累加？不同的文件系统好像是有差异的，请指示一下。
期待回复，这个是最基本的知识吧。</description>
		<content:encoded><![CDATA[<p>刚刚学习BDB，发现生成的.db文件都是初始化为4k或则8k,16k的，这个大小与什么相关呢，是文件系统的簇么？是不是会根据存储内容成倍的累加？不同的文件系统好像是有差异的，请指示一下。<br />
期待回复，这个是最基本的知识吧。</p>
]]></content:encoded>
	</item>
</channel>
</rss>
Դ
