<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LinuxSense &#187; sysbench</title>
	<atom:link href="http://www.linuxsense.org/archives/tag/sysbench/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linuxsense.org</link>
	<description>分享Linux技术的点点滴滴</description>
	<lastBuildDate>Sat, 01 Aug 2009 05:23:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>sysbench 的安装和做性能测试</title>
		<link>http://www.linuxsense.org/archives/377.html</link>
		<comments>http://www.linuxsense.org/archives/377.html#comments</comments>
		<pubDate>Fri, 12 Sep 2008 08:12:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[web构架]]></category>
		<category><![CDATA[sysbench]]></category>

		<guid isPermaLink="false">http://www.linuxsense.org/?p=377</guid>
		<description><![CDATA[本文系转载
原文作者：叶金荣
原文地址：http://imysql.cn/node/312
sysbench是一个模块化的、跨平台、多线程基准测试工具，主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看：http://sysbench.sourceforge.net。
它主要包括以下几种方式的测试：
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)
目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。
一、安装
首先，在 http://sourceforge.net/projects/sysbench 下载源码包。
接下来，按照以下步骤安装：
tar zxf sysbench-0.4.8.tar.gz
cd sysbench-0.4.8
./configure &#38;&#38; make &#38;&#38; make install
strip /usr/local/bin/sysbench
以上方法适用于 MySQL 安装在标准默认目录下的情况，如果 MySQL 并不是安装在标准目录下的话，那么就需要自己指定 MySQL 的路径了。比如我的 MySQL 喜欢自己安装在 /usr/local/mysql 下，则按照以下方法编译：
/configure &#8211;with-mysql-includes=/usr/local/mysql/include &#8211;with-mysql-libs=/usr/local/mysql/lib &#38;&#38; make &#38;&#38; make install
当然了，用上面的参数编译的话，就要确保你的 MySQL lib目录下有对应的 so 文件，如果没有，可以自己下载 devel 或者 share 包来安装。
另外，如果想要让 sysbench 支持 pgsql/oracle 的话，就需要在编译的时候加上参数
&#8211;with-pgsql
或者
&#8211;with-oracle
这2个参数默认是关闭的，只有 MySQL 是默认支持的。
二、开始测试
编译成功之后，就要开始测试各种性能了，测试的方法官网网站上也提到一些，但涉及到 OLTP 测试的部分却不够准确。在这里我大致提一下：
1、cpu性能测试
sysbench &#8211;test=cpu &#8211;cpu-max-prime=20000 run
cpu测试主要是进行素数的加法运算，在上面的例子中，指定了最大的素数为 20000，自己可以根据机器cpu的性能来适当调整数值。
2、线程测试
sysbench &#8211;test=threads &#8211;num-threads=64 &#8211;thread-yields=100 &#8211;thread-locks=2 [...]]]></description>
			<content:encoded><![CDATA[<p>本文系转载<br />
原文作者：叶金荣<br />
原文地址：<a href="http://imysql.cn/node/312">http://imysql.cn/node/312</a><br />
sysbench是一个模块化的、跨平台、多线程基准测试工具，主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看：<a href="http://sysbench.sourceforge.net">http://sysbench.sourceforge.net</a>。<br />
它主要包括以下几种方式的测试：<br />
1、cpu性能<br />
2、磁盘io性能<br />
3、调度程序性能<br />
4、内存分配及传输速度<br />
5、POSIX线程性能<br />
6、数据库性能(OLTP基准测试)<br />
目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。<br />
一、安装<br />
首先，在 <a href="http://sourceforge.net/projects/sysbench">http://sourceforge.net/projects/sysbench</a> 下载源码包。<br />
接下来，按照以下步骤安装：<br />
tar zxf sysbench-0.4.8.tar.gz<br />
cd sysbench-0.4.8<br />
./configure &amp;&amp; make &amp;&amp; make install<br />
strip /usr/local/bin/sysbench<br />
以上方法适用于 MySQL 安装在标准默认目录下的情况，如果 MySQL 并不是安装在标准目录下的话，那么就需要自己指定 MySQL 的路径了。比如我的 MySQL 喜欢自己安装在 /usr/local/mysql 下，则按照以下方法编译：<br />
/configure &#8211;with-mysql-includes=/usr/local/mysql/include &#8211;with-mysql-libs=/usr/local/mysql/lib &amp;&amp; make &amp;&amp; make install<br />
当然了，用上面的参数编译的话，就要确保你的 MySQL lib目录下有对应的 so 文件，如果没有，可以自己下载 devel 或者 share 包来安装。<br />
另外，如果想要让 sysbench 支持 pgsql/oracle 的话，就需要在编译的时候加上参数<br />
&#8211;with-pgsql<br />
或者<br />
&#8211;with-oracle<br />
这2个参数默认是关闭的，只有 MySQL 是默认支持的。<br />
二、开始测试<br />
编译成功之后，就要开始测试各种性能了，测试的方法官网网站上也提到一些，但涉及到 OLTP 测试的部分却不够准确。在这里我大致提一下：<br />
1、cpu性能测试<br />
sysbench &#8211;test=cpu &#8211;cpu-max-prime=20000 run<br />
cpu测试主要是进行素数的加法运算，在上面的例子中，指定了最大的素数为 20000，自己可以根据机器cpu的性能来适当调整数值。<br />
2、线程测试<br />
sysbench &#8211;test=threads &#8211;num-threads=64 &#8211;thread-yields=100 &#8211;thread-locks=2 run<br />
3、磁盘IO性能测试<br />
sysbench &#8211;test=fileio &#8211;num-threads=16 &#8211;file-total-size=3G &#8211;file-test-mode=rndrw prepare<br />
sysbench &#8211;test=fileio &#8211;num-threads=16 &#8211;file-total-size=3G &#8211;file-test-mode=rndrw run<br />
sysbench &#8211;test=fileio &#8211;num-threads=16 &#8211;file-total-size=3G &#8211;file-test-mode=rndrw cleanup<br />
上述参数指定了最大创建16个线程，创建的文件总大小为3G，文件读写模式为随机读。<br />
4、内存测试<br />
sysbench &#8211;test=memory &#8211;memory-block-size=8k &#8211;memory-total-size=4G run<br />
上述参数指定了本次测试整个过程是在内存中传输 4G 的数据量，每个 block 大小为 8K。<br />
5、OLTP测试<br />
sysbench &#8211;test=oltp &#8211;mysql-table-engine=myisam &#8211;oltp-table-size=1000000 \<br />
&#8211;mysql-socket=/tmp/mysql.sock &#8211;mysql-user=test &#8211;mysql-host=localhost \<br />
&#8211;mysql-password=test prepare<br />
上述参数指定了本次测试的表存储引擎类型为 myisam，这里需要注意的是，官方网站上的参数有一处有误，即 &#8211;mysql-table-engine，官方网站上写的是 &#8211;mysql-table-type，这个应该是没有及时更新导致的。另外，指定了表最大记录数为 1000000，其他参数就很好理解了，主要是指定登录方式。测试 OLTP 时，可以自己先创建数据库 sbtest，或者自己用参数 &#8211;mysql-db 来指定其他数据库。&#8211;mysql-table-engine 还可以指定为 innodb 等 MySQL 支持的表存储引擎类型。<br />
好了，主要的就是这些了，想要了解更多信息就访问 sysbench 项目的主页吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxsense.org/archives/377.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
