<?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>评论：innodb_flush_method 与 File I/O</title>
	<atom:link href="http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/</link>
	<description>一个故事@MySQL DBA</description>
	<lastBuildDate>Tue, 07 Sep 2010 05:59:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>来自：MySQL/InnoDB和Group Commit - 一个故事@MySQL DBA</title>
		<link>http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/comment-page-1/#comment-1185</link>
		<dc:creator>MySQL/InnoDB和Group Commit - 一个故事@MySQL DBA</dc:creator>
		<pubDate>Wed, 11 Aug 2010 15:13:29 +0000</pubDate>
		<guid isPermaLink="false">http://orczhou.com/?p=693#comment-1185</guid>
		<description>[...] 简单的，InnoDB在每次提交事务时，为了保证数据已经持久化到磁盘（Durable），需要调用一次fsync（或者是fdatasync、或者使用O_DIRECT选项等）来告知文件系统将可能在缓存中的数据刷新到磁盘（更多关于fsync）。而fsync操作本身是非常“昂贵”的（关于“昂贵”：消耗较多的IO资源，响应较慢）：传统硬盘（10K转/分钟）大约每秒支撑150个fsync操作，SSD（Intel X25-M）大约每秒支撑1200个fsync操作。所以，如果每次事务提交都单独做fsync操作，那么这里将是系统TPS的一个瓶颈。所以就有了Group Commit的概念。 [...]</description>
		<content:encoded><![CDATA[<p>[...] 简单的，InnoDB在每次提交事务时，为了保证数据已经持久化到磁盘（Durable），需要调用一次fsync（或者是fdatasync、或者使用O_DIRECT选项等）来告知文件系统将可能在缓存中的数据刷新到磁盘（更多关于fsync）。而fsync操作本身是非常“昂贵”的（关于“昂贵”：消耗较多的IO资源，响应较慢）：传统硬盘（10K转/分钟）大约每秒支撑150个fsync操作，SSD（Intel X25-M）大约每秒支撑1200个fsync操作。所以，如果每次事务提交都单独做fsync操作，那么这里将是系统TPS的一个瓶颈。所以就有了Group Commit的概念。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：P.Linux</title>
		<link>http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/comment-page-1/#comment-253</link>
		<dc:creator>P.Linux</dc:creator>
		<pubDate>Thu, 22 Oct 2009 06:10:46 +0000</pubDate>
		<guid isPermaLink="false">http://orczhou.com/?p=693#comment-253</guid>
		<description>VFS树的建立和文件系统挂载那一部分我几乎没懂，代码量很繁杂，搞不懂，但是要进一步学习Linux这又不得不过的一关。</description>
		<content:encoded><![CDATA[<p>VFS树的建立和文件系统挂载那一部分我几乎没懂，代码量很繁杂，搞不懂，但是要进一步学习Linux这又不得不过的一关。</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：orczhou</title>
		<link>http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/comment-page-1/#comment-249</link>
		<dc:creator>orczhou</dc:creator>
		<pubDate>Thu, 22 Oct 2009 05:02:40 +0000</pubDate>
		<guid isPermaLink="false">http://orczhou.com/?p=693#comment-249</guid>
		<description>个人认为，系统调用的read/write调用到最后确实是FS级别实现的，这里并没有分的很细，并没有把VFS这一层提出来</description>
		<content:encoded><![CDATA[<p>个人认为，系统调用的read/write调用到最后确实是FS级别实现的，这里并没有分的很细，并没有把VFS这一层提出来</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：P.Linux</title>
		<link>http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/comment-page-1/#comment-247</link>
		<dc:creator>P.Linux</dc:creator>
		<pubDate>Thu, 22 Oct 2009 03:51:05 +0000</pubDate>
		<guid isPermaLink="false">http://orczhou.com/?p=693#comment-247</guid>
		<description>read/write这个问题，我觉得是FS级别的，我的操作系统课设就是裁剪一个UnixLite系统，修改系统调用的时候，~/kernel/asm/trapS.S里面确实有wirte和read函数的调用接口，但是在内核中操作文件是用filp_open()函数打开文件，得到struct file *的指针fp，使用指针fp进行相应操作，最后用filp_close()函数关闭文件。 但是filp_open()、filp_close()函数都是在fs/open.c定义并且在include/linux/fs.h中声明的。那么，read/write本质上应该是FS级别的。
你怎么看呢？</description>
		<content:encoded><![CDATA[<p>read/write这个问题，我觉得是FS级别的，我的操作系统课设就是裁剪一个UnixLite系统，修改系统调用的时候，~/kernel/asm/trapS.S里面确实有wirte和read函数的调用接口，但是在内核中操作文件是用filp_open()函数打开文件，得到struct file *的指针fp，使用指针fp进行相应操作，最后用filp_close()函数关闭文件。 但是filp_open()、filp_close()函数都是在fs/open.c定义并且在include/linux/fs.h中声明的。那么，read/write本质上应该是FS级别的。<br />
你怎么看呢？</p>
]]></content:encoded>
	</item>
</channel>
</rss>
