<?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>SpaLinux.com &#187; Hardware</title>
	<atom:link href="http://spalinux.com/category/hardware/feed" rel="self" type="application/rss+xml" />
	<link>http://spalinux.com</link>
	<description>Resources for Relaxing Linux System Administrators</description>
	<lastBuildDate>Mon, 26 Jul 2010 09:51:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>แก้ปัญหาติดตั้ง CentOS 5.5 ใน VirtualBox Guest ไม่ได้</title>
		<link>http://spalinux.com/2010/07/cannot_intall_centos_5-5_in_virtualbox_guest</link>
		<comments>http://spalinux.com/2010/07/cannot_intall_centos_5-5_in_virtualbox_guest#comments</comments>
		<pubDate>Sun, 11 Jul 2010 14:45:51 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[I/O APIC]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=1118</guid>
		<description><![CDATA[ช่วงนี้ทดสอบ VirtualBox บนหลายๆ OS ทั้งเป็น Host และ Guest มาติดปัญหาตอนพยายามลง CentOS 5.5 ใน Guest คือบู๊ตเครื่องแล้วค้างไม่สามารถติดตั้งได้ หลังจากหาวิธีการแก้ไขปัญหาได้แล้ว เลยมาแชร์กัน PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report NetLabel: Initializing NetLabel:  domain hash size = 128 NetLabel:  protocols = UNLABELED CIPSOv4 NetLabel:  unlabeled traffic allowed by default ACPI: [...]]]></description>
			<content:encoded><![CDATA[<p>ช่วงนี้ทดสอบ VirtualBox บนหลายๆ OS ทั้งเป็น Host และ Guest มาติดปัญหาตอนพยายามลง CentOS 5.5 ใน Guest คือบู๊ตเครื่องแล้วค้างไม่สามารถติดตั้งได้ หลังจากหาวิธีการแก้ไขปัญหาได้แล้ว เลยมาแชร์กัน</p>
<pre><span id="more-1118"></span>PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
ACPI: DMAR not present
<span style="color: #ff0000;">PCI-GART: No AMD northbridge found.
</span>NET: Registered protocol family 2</pre>
<p>คอนฟิกที่ใช้สร้าง Guest คือ</p>
<pre>$ <strong>VBoxManage showvminfo "CentOS-5.5"
</strong>Oracle VM VirtualBox Command Line Management Interface Version 3.2.6
(C) 2005-2010 Oracle Corporation
All rights reserved.</pre>
<pre>Name:            CentOS-5.5
Guest OS:        Red Hat (64 bit)
UUID:            xxx
...
Memory size:     2048MB
Page Fusion:     off
VRAM size:       8MB
HPET:            off
Number of CPUs:  1
Synthetic Cpu:   off
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
<strong><span style="color: #0000ff;">IOAPIC:          off
</span></strong>PAE:             on
...</pre>
<p>หลังจากค้นหาวิธีการแก้ไขด้วย google ก็พบวิธีแก้ไข คือต้องเปิดคุณสมบัติ I/O APIC</p>
<p>ปิด Guest OS แล้วใช้คำสั่ง VBomxManage modifyvm เพื่อแก้ไขคอนฟิกของ Guest วิธีการเปิด/ปิด คุณสมบัติ I/O APIC</p>
<pre>$ VBoxManage modifyvm &lt;uuid|name&gt; [--ioapic on|off]</pre>
<p>ตัวอย่างการเปิดคุณสมบัติ I/O APIC</p>
<pre>$ <strong>VBoxManage modifyvm "CentOS-5.5" --ioapic on
</strong>Oracle VM VirtualBox Command Line Management Interface Version 3.2.6
(C) 2005-2010 Oracle Corporation
All rights reserved.</pre>
<p>ตรวจสอบคอนฟิกหลังการแก้ไข</p>
<pre>$ <strong>VBoxManage showvminfo "CentOS-5.5"
</strong>...
ACPI:            on
<strong><span style="color: #0000ff;">IOAPIC:          on
</span></strong>PAE:             on
...</pre>
<p>เปิด Guest OS อีกครั้งแล้วทดลองติดตั้ง CentOS 5.5 อีกที</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://forums.virtualbox.org/viewtopic.php?f=3&amp;t=19658" target="_blank">Unable to install Centos 5.2 64bit as guest.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2010/07/cannot_intall_centos_5-5_in_virtualbox_guest/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ขนาดหน่วยความจำกับการติดตั้ง Solaris 10_u8 x86</title>
		<link>http://spalinux.com/2010/03/memory_size_with_solaris_10_u8_x86_installation</link>
		<comments>http://spalinux.com/2010/03/memory_size_with_solaris_10_u8_x86_installation#comments</comments>
		<pubDate>Sat, 06 Mar 2010 07:15:25 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[solaris 10]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=1092</guid>
		<description><![CDATA[ช่วงนี้รับงานที่ต้องใช้ Solaris 10 เป็นหลัก เลยติดตั้ง Solaris ใน VMware Server เพื่อไว้เป็นเครื่องทดสอบคำสั่ง และโปรแกรมต่างๆ บทความนี้ขอนำประสบการณ์มาแชร์ให้กัน เผื่อเป็นประโยชน์สำหรับผู้ติดปัญหาการติดตั้ง Solaris 10 x86 เหมือนผู้เขียน ในที่นี้ใช้ไฟล์ iso (sol-10-u8-ga-x86-dvd.iso) จากเว็บไซต์ sun.com เพื่อติดตั้งบน VMware Server คอนฟิก guest ที่สร้างไว้ บน VMware Server เวอร์ชั่น 1.0.10 คือ Guest Operating System: Solaris 10 64-bit Memory 512 MB Disk 37.3 GB พยายามติดตั้งอยู่นานก็ไม่สามารถติดตั้งได้ ขึ้น error SunOS Release 5.10 Version Generic_141445-09 32-bit [...]]]></description>
			<content:encoded><![CDATA[<p>ช่วงนี้รับงานที่ต้องใช้ Solaris 10 เป็นหลัก เลยติดตั้ง Solaris ใน VMware Server เพื่อไว้เป็นเครื่องทดสอบคำสั่ง และโปรแกรมต่างๆ</p>
<p>บทความนี้ขอนำประสบการณ์มาแชร์ให้กัน เผื่อเป็นประโยชน์สำหรับผู้ติดปัญหาการติดตั้ง Solaris 10 x86 เหมือนผู้เขียน</p>
<p><span id="more-1092"></span></p>
<p>ในที่นี้ใช้ไฟล์ iso (sol-10-u8-ga-x86-dvd.iso) จากเว็บไซต์ sun.com เพื่อติดตั้งบน VMware Server</p>
<p>คอนฟิก guest ที่สร้างไว้ บน VMware Server เวอร์ชั่น 1.0.10 คือ</p>
<p>Guest Operating System: Solaris 10 64-bit<br />
Memory 512 MB<br />
Disk 37.3 GB</p>
<p>พยายามติดตั้งอยู่นานก็ไม่สามารถติดตั้งได้ ขึ้น error</p>
<pre>SunOS Release 5.10 Version Generic_141445-09 32-bit
Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.</pre>
<pre><span style="color: #ff0000;">panic[cpu0]/thread=fec20160: page_unlock: page fe2b57d0 is not locked.</span></pre>
<p><a href="http://spalinux.com/wp-content/uploads/2010/03/01-Install_Solaris_10_x86_panic_with_memory_512MB.png"><img title="Install Solaris 10 x86 - panic with memory 512MB" src="http://spalinux.com/wp-content/uploads/2010/03/01-Install_Solaris_10_x86_panic_with_memory_512MB.png" alt="" width="720" height="400" /></a></p>
<p>หลังจากค้นหาข้อมูลอยู่นาน ก็พบต้นตอของปัญหาจากเว็บไซต์ <a href="http://forums.sun.com/thread.jspa?threadID=5411801" target="_blank">Installation &#8211; Solaris 10 Installation error on Thinkpad A20m &#8211; Please help!!!!!!! PLEASE!<br />
</a></p>
<blockquote><p>S10U8 cannot hit a 512Mb memory system and I suspect you are there. In Parallels you can just up the memory slightly. At least in virtual box 512</p>
<p>will give the same error while 609mb does not.</p></blockquote>
<p>ทดลองเปลี่ยนคอนฟิกของ memory เป็น 768 MB ผลเป็นว่าสามารถติดตั้ง Solaris 10 ได้ แต่สังเกตว่าน่าจะเป็นการติดตั้ง Solaris 10 แบบ 32-bit</p>
<pre>SunOS Release 5.10 Version Generic_141445-09 <span style="color: #0000ff;">32-bit</span></pre>
<p><a href="http://spalinux.com/wp-content/uploads/2010/03/02-Install_Solaris_10_x86_32-bit_with_memory_768MB.png"><img title="Install Solaris 10 x86 32-bit with memory 768MB" src="http://spalinux.com/wp-content/uploads/2010/03/02-Install_Solaris_10_x86_32-bit_with_memory_768MB.png" alt="" width="720" height="400" /></a></p>
<p>ทดลองเพิ่มขนาด memory เป็น 1024 MB ผลที่ได้ จะเป็นการติดตั้ง Solaris 10 แบบ 64-bit</p>
<pre>SunOS Release 5.10 Version Generic_141445-09 64-bit</pre>
<p><a href="http://spalinux.com/wp-content/uploads/2010/03/03-Install_Solaris_10_x86_64-bit_with_memory_1024MB.png"><img title="Install Solaris 10 x86 64-bit with memory 1024MB" src="http://spalinux.com/wp-content/uploads/2010/03/03-Install_Solaris_10_x86_64-bit_with_memory_1024MB.png" alt="" width="720" height="400" /></a></p>
<p>แต่ไม่ว่าจะคอนฟิกขนาด Memory 768 MB หรือ 1024 MB ตอนติดตั้ง สุดท้าย Solaris ที่ได้จะเป็นแบบ 64-bit</p>
<p>หมายเหตุ ไม่ได้ทดสอบบนเครื่อง PC จริงๆ ว่าได้ผลเหมือนกันหรือไม่ ลองกันดูนะครับ</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://www.sun.com/software/solaris/get.jsp" target="_blank">Get Solaris 10</a></li>
<li><a href="http://forums.sun.com/thread.jspa?threadID=5411801" target="_blank">Installation &#8211; Solaris 10 Installation error on Thinkpad A20m &#8211; Please help!!!!!!! PLEASE!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2010/03/memory_size_with_solaris_10_u8_x86_installation/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>รหัสย่อของ ASUS Motherboard</title>
		<link>http://spalinux.com/2009/12/asus_motherboard_model_system</link>
		<comments>http://spalinux.com/2009/12/asus_motherboard_model_system#comments</comments>
		<pubDate>Mon, 07 Dec 2009 16:53:42 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[ASUS Motherboard]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=1042</guid>
		<description><![CDATA[ไม่ได้ติดตาม spec เครื่องคอมพิวเตอร์มานาน วันนี้ไปเดินดูห้างชื่อดัง เพื่อจะลองซื้อเครื่องประกอบ เวียนหัวกับสินค้าที่หลากหลายมากๆ โดยเฉพาะส่วนสำคัญหลัก Motherboard หรือ Mainboard นั่นเอง กลับมาตั้งหลักเพื่อพยายามศึกษาว่าแต่ละรุ่นรายละเอียดต่างกันหรือไม่ อย่างไร เพราะราคาใกล้เคียงกันมาก พอดีเจอกับเว็บที่มีคนช่วยไขข้อกระจ่างเกี่ยวกับรหัสย่อต่างๆ ที่ ASUS ใช้ในการตั้งชื่อ Motherboard เลยตัดมาบางส่วน และแนะนำลิ้งค์ไว้ดูกัน Asus yyxxv-zz ww/v yy = CPU type xx = Chipset type v = Feature code 1 -zz = Dash-code ww = Feature code 2   CPU type depicts what kind of processor socket the [...]]]></description>
			<content:encoded><![CDATA[<p>ไม่ได้ติดตาม spec เครื่องคอมพิวเตอร์มานาน วันนี้ไปเดินดูห้างชื่อดัง เพื่อจะลองซื้อเครื่องประกอบ เวียนหัวกับสินค้าที่หลากหลายมากๆ โดยเฉพาะส่วนสำคัญหลัก Motherboard หรือ Mainboard นั่นเอง</p>
<p>กลับมาตั้งหลักเพื่อพยายามศึกษาว่าแต่ละรุ่นรายละเอียดต่างกันหรือไม่ อย่างไร เพราะราคาใกล้เคียงกันมาก</p>
<p>พอดีเจอกับเว็บที่มีคนช่วยไขข้อกระจ่างเกี่ยวกับรหัสย่อต่างๆ ที่ ASUS ใช้ในการตั้งชื่อ Motherboard เลยตัดมาบางส่วน และแนะนำลิ้งค์ไว้ดูกัน</p>
<p><span id="more-1042"></span></p>
<blockquote>
<p style="font-weight: bold;">Asus yyxxv-zz ww/v</p>
<p>yy = CPU type</p>
<p>xx = Chipset type</p>
<p>v = Feature code 1</p>
<p>-zz = Dash-code</p>
<p>ww = Feature code 2</p></blockquote>
<p> </p>
<ul>
<li><span style="font-weight: bold;">CPU type</span> depicts what kind of processor socket the board possesses</li>
<li><span style="font-weight: bold;">Chipset type</span> code changes according to the motherboard&#8217;s chipset</li>
<li><span style="font-weight: bold;">Dash-code</span> determines the type of board</li>
<li><span style="font-weight: bold;">Feature code</span><span style="font-weight: bold;"> 2</span> will change depending on the market that the board is targeted at</li>
<li><span style="font-weight: bold;">Feature Code 1</span> will change depending on things like different memory technologies than other boards in the series</li>
</ul>
<p> </p>
<ul>
<li>A motherboard with no dash-code is generally the <span style="font-weight: bold;">&#8220;vanilla representative&#8221;</span> board in a series. In this case: the <span style="font-weight: bold;">P5K</span>.</li>
<li>The <span style="font-weight: bold;">P5K SE</span> is a feature-reduced variant of the P5K. I like to refer the <span style="font-weight: bold;">&#8220;SE&#8221;</span> as <span style="font-weight: bold;">&#8220;Slow Edition.&#8221;</span></li>
<li><span style="font-weight: bold;">P5K-VM</span> is a Micro-ATX board. <span style="font-weight: bold;">&#8220;VM&#8221;</span> stands for <span style="font-weight: bold;">&#8220;Video Micro.&#8221;</span> (Video as in an IGP, and Micro as in micro-ATX.) This board uses the G33 chipset (with IGP, no less.)</li>
<li><span style="font-weight: bold;">P5KR</span> is the exact same as the P5K except that it drops the standard ICH9 southbridge for the RAIDable ICH9R chip. <span style="font-weight: bold;">&#8220;R&#8221;</span> stands, quite obviously, for <span style="font-weight: bold;">RAID.</span> Newer boards seperate the <span style="font-weight: bold;">R</span> from the rest of the model name, however, like the P5Q-SE <span style="font-weight: bold;">R</span>.</li>
<li><span style="font-weight: bold;">P5K-E</span> is a more feature-ridden variant of the standard P5K, with things like eSATA ports and WiFi cards. <span style="font-weight: bold;">&#8220;E&#8221;</span> stands for <span style="font-weight: bold;">&#8220;Enhanced.&#8221;</span></li>
<li>The <span style="font-weight: bold;">P5KC</span> is a P5K with four DDR2 slots and two DDR3 memory slots on it. <span style="font-weight: bold;">&#8220;C&#8221;</span> stands for <span style="font-weight: bold;">&#8220;Combo,&#8221;</span> as in <span style="font-style: italic;">Combo Memory.</span></li>
<li>The <span style="font-weight: bold;">P5K SE/EPU</span> and <span style="font-weight: bold;">P5K/EPU</span> are updated boards that add the Asus EPU chip for power savings. In this case, that P5K-SE/EPU has the exact same layout as a standard <span style="font-weight: bold;">SE</span>, while the P5K/EPU uses a brand new layout that in some cases is better than the original P5K.</li>
<li>The <span style="font-weight: bold;">P5K PRO</span> is a P5K/EPU using ICH9R instead of ICH9 with two more SATA ports, along with an additional heatsink covering the VRMs up top. <span style="font-weight: bold;">&#8220;PRO&#8221;</span> is usually above <span style="font-weight: bold;">vanilla</span> and below <span style="font-weight: bold;">&#8220;E.&#8221;</span></li>
<li>The <span style="font-weight: bold;">P5K Deluxe</span> is exactly what it sounds like: a high-end P5K. <span style="font-weight: bold;">&#8220;Deluxe&#8221;</span> is above <span style="font-weight: bold;">&#8220;E&#8221;</span> but below <span style="font-weight: bold;">&#8220;Premium.&#8221;</span></li>
<li>The <span style="font-weight: bold;">P5K3 Deluxe</span> switches memory technologies: DDR3 instead of DDR2.</li>
<li><span style="font-weight: bold;">P5K3 Premium BP</span> is the second highest-end board in the P5K series, with stuff like onboard irreplacable DDR3 memory. Generally, expect ridiculous stuff like that. Only <span style="font-weight: bold;">&#8220;WS&#8221;</span> is higher than <span style="font-weight: bold;">&#8220;Premium,&#8221;</span> and in many cases it isn&#8217;t.</li>
<li><span style="font-weight: bold;">P5K WS</span> is a board designed for workstation machines. As such, this board&#8217;s got a PCI-X slot, along with other workstation-required features. <span style="font-weight: bold;">&#8220;WS&#8221;</span> quite obviously stands for <span style="font-weight: bold;">&#8220;Workstation.&#8221;</span></li>
</ul>
<p> </p>
<p><span style="font-weight: bold;">ที่มา <a href="http://yertech.blogspot.com/2008/08/asus-motherboard-model-systemasus.html" target="_blank">http://yertech.blogspot.com/2008/08/asus-motherboard-model-systemasus.html</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/12/asus_motherboard_model_system/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>คอมไพล์ sysbench บน Solaris 10 (x86)</title>
		<link>http://spalinux.com/2009/05/compile_sysbench_on_solaris_10_x86</link>
		<comments>http://spalinux.com/2009/05/compile_sysbench_on_solaris_10_x86#comments</comments>
		<pubDate>Sat, 23 May 2009 16:40:34 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[solaris 10 benchmark]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=696</guid>
		<description><![CDATA[บทความนี้ขอแสดงวิธีการคอมไพล์โปรแกรม sysbench บน Solaris 10 (x86) เพื่อใช้วัดประสิทธิภาพเปรียบเทียบกับ Fedora 10 ในที่นี้ขอใช้แค่เวอร์ชั่น 0.4.10 และเลือกไม่คอมไพล์รวม mysql เพื่อความง่ายในการคอมไพล์และทดสอบ เพราะการที่จะคอมไพล์ sysbench เวอร์ชั่นใหม่กว่านี้ จะติดปัญหาหลายๆ อย่าง เช่นดาวน์โหลดโปรแกรม library มาติดตั้งเพิ่มเติม เพื่อแก้ไขปัญหา libtool ที่มีการเปลี่ยนแปลงได้ อย่างไรก็ตามเรายังสามารถนำผลที่ได้มาเปรียบเทียบแบบคร่าวๆ เพราะวิธีการ benchmark ยังคงเป็นรูปแบบเดียวกัน ดาวน์โหลดไฟล์ เลือกดาวน์โหลดเวอร์ชั่น 0.4.10 จากเว็บไซต์ Download sysbench &#8211; SourceForge.net: System performance benchmark: Files แตกไฟล์ (extract) ใน /usr/local/src/ โปรแกรมที่นำมาคอมไพล์และติดตั้งเอง แนะนำให้ไว้ใน /usr/local/ เพราะเวลาปรับปรุง หรือติดตั้งใหม่ จะได้สะดวกต่อการอ้างอิงและค้นหา ในที่นี้จะไว้ใน  /usr/local/src/ เพื่อเก็บ source [...]]]></description>
			<content:encoded><![CDATA[<p>บทความนี้ขอแสดงวิธีการคอมไพล์โปรแกรม sysbench บน Solaris 10 (x86) เพื่อใช้วัดประสิทธิภาพเปรียบเทียบกับ Fedora 10</p>
<p>ในที่นี้ขอใช้แค่เวอร์ชั่น 0.4.10 และเลือกไม่คอมไพล์รวม mysql เพื่อความง่ายในการคอมไพล์และทดสอบ เพราะการที่จะคอมไพล์ sysbench เวอร์ชั่นใหม่กว่านี้ จะติดปัญหาหลายๆ อย่าง เช่นดาวน์โหลดโปรแกรม library มาติดตั้งเพิ่มเติม เพื่อแก้ไขปัญหา libtool ที่มีการเปลี่ยนแปลงได้ อย่างไรก็ตามเรายังสามารถนำผลที่ได้มาเปรียบเทียบแบบคร่าวๆ เพราะวิธีการ benchmark ยังคงเป็นรูปแบบเดียวกัน</p>
<h4>ดาวน์โหลดไฟล์</h4>
<p><span id="more-696"></span></p>
<p>เลือกดาวน์โหลดเวอร์ชั่น 0.4.10 จากเว็บไซต์<a href="http://sourceforge.net/project/showfiles.php?group_id=102348&amp;package_id=109810" target="_blank"> Download sysbench &#8211; SourceForge.net: System performance benchmark: Files</a></p>
<h4>แตกไฟล์ (extract) ใน /usr/local/src/</h4>
<p>โปรแกรมที่นำมาคอมไพล์และติดตั้งเอง แนะนำให้ไว้ใน /usr/local/ เพราะเวลาปรับปรุง หรือติดตั้งใหม่ จะได้สะดวกต่อการอ้างอิงและค้นหา ในที่นี้จะไว้ใน  /usr/local/src/ เพื่อเก็บ source file และไฟล์ที่ใช้ระหว่างการคอมไพล์โปรแกรม</p>
<pre># <strong>mkdir -p /usr/local/src</strong>
# <strong>cd /usr/local/src/</strong>
# <strong>ls -l</strong>
total 928
-rw-r--r--   1 user1    other     463936 May 23 22:11 sysbench-0.4.10.tar.gz</pre>
<p>ใช้คำสั่ง gzip และ tar เพื่อแตกไฟล์</p>
<pre># <strong>gzip -dv sysbench-0.4.10.tar.gz</strong>
sysbench-0.4.10.tar.gz:  78.9% -- replaced with sysbench-0.4.10.tar</pre>
<pre># <strong>tar xvf sysbench-0.4.10.tar</strong>
x sysbench-0.4.10, 0 bytes, 0 tape blocks
x sysbench-0.4.10/doc, 0 bytes, 0 tape blocks
x sysbench-0.4.10/doc/manual.html, 0 bytes, 0 tape blocks
x sysbench-0.4.10/doc/manual.xml, 36255 bytes, 71 tape blocks
x sysbench-0.4.10/doc/Makefile.am, 672 bytes, 2 tape blocks
x sysbench-0.4.10/doc/xsl, 0 bytes, 0 tape blocks
x sysbench-0.4.10/doc/xsl/xhtml.xsl, 486 bytes, 1 tape blocks
x sysbench-0.4.10/doc/xsl/catalog.xml.in, 729 bytes, 2 tape blocks
x sysbench-0.4.10/doc/xsl/xhtml-chunk.xsl, 1815 bytes, 4 tape blocks
...
...
...
x sysbench-0.4.10/sysbench/Makefile.in, 21292 bytes, 42 tape blocks
x sysbench-0.4.10/COPYING, 17992 bytes, 36 tape blocks
x sysbench-0.4.10/install-sh, 7122 bytes, 14 tape blocks
x sysbench-0.4.10/configure, 818532 bytes, 1599 tape blocks
x sysbench-0.4.10/Makefile.am, 800 bytes, 2 tape blocks
x sysbench-0.4.10/configure.ac, 5477 bytes, 11 tape blocks
x sysbench-0.4.10/INSTALL, 9240 bytes, 19 tape blocks
x sysbench-0.4.10/Makefile.in, 21039 bytes, 42 tape blocks
x sysbench-0.4.10/ChangeLog, 9329 bytes, 19 tape blocks
x sysbench-0.4.10/acinclude.m4, 16599 bytes, 33 tape blocks</pre>
<p>ใช้คำสั่ง cd เข้าไปในไดเร็คทอรี ใช้คำสั่ง ls เพื่อดูไฟล์</p>
<pre># <strong>cd sysbench-0.4.10</strong>
# <strong>ls</strong>
COPYING        Makefile.am    TODO           autogen.sh     configure.ac   missing
ChangeLog      Makefile.in    acinclude.m4   config         doc            mkinstalldirs
INSTALL        README         aclocal.m4     configure      install-sh     sysbench</pre>
<h4>รัน ./configure</h4>
<p>แล้วรัน ./configure (ไม่เลือกคอมไพล์ mysql) เพื่อตรวจสอบไฟล์ต่างๆ ที่จำเป็นในการคอนไพล์โปรแกรม และสร้าง Makefile สำหรับคอมไพล์โปรแกรม</p>
<pre># <strong>./configure --without-mysql</strong>
checking build system type... i386-pc-solaris2.10
checking host system type... i386-pc-solaris2.10
checking target system type... i386-pc-solaris2.10
checking for a BSD-compatible install... config/install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... no
checking whether to compile with MySQL support... (cached) no
checking whether to compile with Oracle support... (cached) no
checking whether to compile with PostgreSQL support... (cached) no
checking for style of include used by make... none
checking for gcc... no
checking for cc... no
checking for cl.exe... no
<span style="color: #ff0000;">configure: error: no acceptable C compiler found in $PATH
</span>See `config.log' for more details.
#</pre>
<p>มี error เกิดขึ้น เหตุเพราะ ./configure ไม่สามารถหา gcc compiler ใน PATH ได้</p>
<p>ตรวจสอบ PATH ที่ใช้อยู่</p>
<pre># <strong>echo $PATH</strong>
/usr/sbin:/usr/bin</pre>
<p>จากการติดตั้ง Solaris 10 จะมี gcc compiler มาให้อยู่แล้วแต่อยู่ใน /usr/sfw/bin เราจำเป็นต้องเพิ่ม PATH นี้เข้าไป</p>
<p>วิธีการเพิ่ม /usr/sfw/bin เข้าไปใน PATH</p>
<pre># <strong>PATH=$PATH<span style="color: #0000ff;">:/usr/sfw/bin</span></strong>
# <strong>echo $PATH</strong>
/usr/sbin:/usr/bin:/usr/sfw/bin</pre>
<p>หมายเหตุ โปรดสังเกตการใช้เครื่องหมาย $ ในการกำหนดค่าตัวแปร</p>
<p>รัน ./configure อีกครั้ง หลังจากเพิ่ม PATH /usr/sfw/bin</p>
<pre># <strong>./configure --without-mysql
</strong>checking build system type... i386-pc-solaris2.10
checking host system type... i386-pc-solaris2.10
checking target system type... i386-pc-solaris2.10
checking for a BSD-compatible install... config/install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... no
checking whether to compile with MySQL support... (cached) no
checking whether to compile with Oracle support... (cached) no
checking whether to compile with PostgreSQL support... (cached) no
checking for style of include used by make... none
checking for gcc... gcc
...
...
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/xsl/Makefile
config.status: creating doc/xsl/catalog.xml
config.status: creating doc/Makefile
config.status: creating sysbench/Makefile
config.status: creating sysbench/drivers/Makefile
config.status: creating sysbench/drivers/mysql/Makefile
config.status: creating sysbench/drivers/oracle/Makefile
config.status: creating sysbench/drivers/pgsql/Makefile
config.status: creating sysbench/tests/Makefile
config.status: creating sysbench/tests/cpu/Makefile
config.status: creating sysbench/tests/fileio/Makefile
config.status: creating sysbench/tests/memory/Makefile
config.status: creating sysbench/tests/threads/Makefile
config.status: creating sysbench/tests/mutex/Makefile
config.status: creating sysbench/tests/oltp/Makefile
config.status: creating config/config.h
config.status: executing depfiles commands</pre>
<p>ไม่มี error จากการรัน ./configure</p>
<h4>รัน make</h4>
<p>รัน make เพื่อเริ่มคอมไฟล์โปรแกรม</p>
<pre># <strong>make</strong>
<span style="color: #ff0000;">make: not found</span></pre>
<p>ไม่สามารถรัน make ได้ เพราะหาคำสั่ง make ไม่พบ &#8220;make: not found&#8221;</p>
<p>เหตุเพราะคำสั่ง make อยู่ในอีก PATH คือ /usr/ccs/bin ต้องเพิ่มเข้าไปใน PATH อีก</p>
<pre># <strong>echo $PATH
</strong>/usr/sbin:/usr/bin:/usr/sfw/bin</pre>
<pre># <strong>PATH=$PATH<span style="color: #0000ff;">:/usr/ccs/bin
</span></strong># <strong>echo $PATH
</strong>/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin</pre>
<p>รัน make อีกครั้ง</p>
<pre># <strong>make</strong>
Making all in doc
Making all in xsl
Making all in sysbench
Making all in drivers
Making all in tests
Making all in cpu
source='sb_cpu.c' object='libsbcpu_a-sb_cpu.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../../../config/depcomp \
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -D_REENTRANT -g -O2 -c -o libsbcpu_a-sb_cpu.o `test -f 'sb_cpu.c' || echo './'`sb_cpu.c
rm -f libsbcpu.a
false cru libsbcpu.a libsbcpu_a-sb_cpu.o
<span style="color: #ff0000;">*** Error code 255
</span>make: Fatal error: Command failed for target `libsbcpu.a'
Current working directory /usr/local/src/sysbench-0.4.10/sysbench/tests/cpu
<span style="color: #ff0000;">*** Error code 1
</span>The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='cpu fileio memory threads mutex oltp'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir &amp;&amp; make  $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make  "$target-am" || exit 1; \
fi; test -z "$fail"
<span style="color: #ff0000;">make: Fatal error: Command failed for target `all-recursive'
</span>Current working directory /usr/local/src/sysbench-0.4.10/sysbench/tests
<span style="color: #ff0000;">*** Error code 1</span>
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='drivers tests .'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir &amp;&amp; make  $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /usr/local/src/sysbench-0.4.10/sysbench
<span style="color: #ff0000;">*** Error code 1</span>
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='doc sysbench'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir &amp;&amp; make  $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make  "$target-am" || exit 1; \
fi; test -z "$fail"
<span style="color: #ff0000;">make: Fatal error: Command failed for target `all-recursive'</span></pre>
<p>การรัน make ยังมี error อยู่หลายจุด แปลว่า คอมไพล์โปรแกรมไม่สำเร็จ</p>
<p>ลองรัน ./configure ใหม่อีกครั้ง แล้วค่อยรัน make</p>
<pre># <strong>./configure --without-mysql
</strong>checking build system type... i386-pc-solaris2.10
checking host system type... i386-pc-solaris2.10
checking target system type... i386-pc-solaris2.10
checking for a BSD-compatible install... config/install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether to compile with MySQL support... (cached) no
checking whether to compile with Oracle support... (cached) no
checking whether to compile with PostgreSQL support... (cached) no
checking for style of include used by make... GNU
checking for gcc... gcc
...
...
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/xsl/Makefile
config.status: creating doc/xsl/catalog.xml
config.status: creating doc/Makefile
config.status: creating sysbench/Makefile
config.status: creating sysbench/drivers/Makefile
config.status: creating sysbench/drivers/mysql/Makefile
config.status: creating sysbench/drivers/oracle/Makefile
config.status: creating sysbench/drivers/pgsql/Makefile
config.status: creating sysbench/tests/Makefile
config.status: creating sysbench/tests/cpu/Makefile
config.status: creating sysbench/tests/fileio/Makefile
config.status: creating sysbench/tests/memory/Makefile
config.status: creating sysbench/tests/threads/Makefile
config.status: creating sysbench/tests/mutex/Makefile
config.status: creating sysbench/tests/oltp/Makefile
config.status: creating config/config.h
config.status: executing depfiles commands</pre>
<pre># <strong>make</strong>
Making all in doc
Making all in xsl
Making all in sysbench
Making all in drivers
Making all in tests
Making all in cpu
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -D_REENTRANT -g -O2 -MT libsbcpu_a-sb_cpu.o -MD -MP -MF .deps/libsbcpu_a-sb_cpu.Tpo -c -o libsbcpu_a-sb_cpu.o `test -f 'sb_cpu.c' || echo './'`sb_cpu.c
mv -f .deps/libsbcpu_a-sb_cpu.Tpo .deps/libsbcpu_a-sb_cpu.Po
rm -f libsbcpu.a
ar cru libsbcpu.a libsbcpu_a-sb_cpu.o
ranlib libsbcpu.a
Making all in fileio
...
...
...
gcc -DHAVE_CONFIG_H -I. -I../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../sysbench   -D_REENTRANT -g -O2 -MT sb_logger.o -MD -MP -MF .deps/sb_logger.Tpo -c -o sb_logger.o sb_logger.c
mv -f .deps/sb_logger.Tpo .deps/sb_logger.Po
gcc -DHAVE_CONFIG_H -I. -I../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../sysbench   -D_REENTRANT -g -O2 -MT db_driver.o -MD -MP -MF .deps/db_driver.Tpo -c -o db_driver.o db_driver.c
mv -f .deps/db_driver.Tpo .deps/db_driver.Po
/bin/bash ../libtool --tag=CC    --mode=link gcc -D_REENTRANT -g -O2 -lumem      -o sysbench sysbench.o sb_timer.o  sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a  tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a  tests/mutex/libsbmutex.a    -lrt -lm
mkdir .libs
gcc -D_REENTRANT -g -O2 -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o  -lumem tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a -lrt -lm</pre>
<p>เรียบร้อย รัน make แล้วไม่มี error</p>
<h4>รัน make install</h4>
<p>ถ้ารัน make แล้ว ไม่มีข้อความ error แสดงว่าโปรแกรมคอมไพล์สำเร็จ สามารถใช้คำสั่ง make install เพื่อติดตั้งไฟล์ได้ โดยดีฟอลต์ โปรแกรมที่คอมไฟล์เองจะติดตั้งไฟล์ไว้ใน /usr/local/</p>
<pre># <strong>make install
</strong>Making install in doc
Making install in xsl
test -z "/usr/local/share/doc/sysbench" || ../config/install-sh -c -d "/usr/local/share/doc/sysbench"
../config/install-sh -c -m 644 'manual.html' '/usr/local/share/doc/sysbench/manual.html'
Making install in sysbench
Making install in drivers
Making install in tests
Making install in cpu
Making install in fileio
Making install in memory
Making install in threads
Making install in mutex
Making install in oltp
Making install in .
test -z "/usr/local/bin" || ../config/install-sh -c -d "/usr/local/bin"
/bin/bash ../libtool --mode=install ../config/install-sh -c 'sysbench' '/usr/local/bin/sysbench'
../config/install-sh -c sysbench /usr/local/bin/sysbench</pre>
<pre># <strong>ls -l /usr/local/bin
</strong>total 400
-rwxr-xr-x   1 root     root      195312 May 23 23:17 sysbench</pre>
<h4>รัน CPU Benchmark</h4>
<p>เพิ่ม PATH /usr/local/bin ไว้สำหรับรันโปรแกรม</p>
<pre># <strong>PATH=$PATH<span style="color: #0000ff;">:/usr/local/bin
</span></strong># <strong>echo $PATH
</strong>/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/local/bin</pre>
<p>ทดลองรัน sysbench เพื่อทดสอบ CPU Benchmark บน Solaris</p>
<pre># <strong>sysbench --test=cpu --cpu-max-prime=20000 run
</strong>sysbench 0.4.10:  multi-threaded system evaluation benchmark</pre>
<pre>Running the test with following options:
<span style="color: #0000ff;">Number of threads: 1</span></pre>
<pre><span style="color: #0000ff;">Doing CPU performance benchmark</span></pre>
<pre>Threads started!
Done.</pre>
<pre><span style="color: #0000ff;">Maximum prime number checked in CPU test: 20000</span></pre>
<pre><span style="color: #0000ff;">Test execution summary:
total time:                          44.6483s
</span>total number of events:              10000
total time taken by event execution: 44.6394
per-request statistics:
min:                                  4.26ms
avg:                                  4.46ms
max:                                 12.42ms
approx.  95 percentile:               4.80ms</pre>
<pre>Threads fairness:
events (avg/stddev):           10000.0000/0.00
execution time (avg/stddev):   44.6394/0.00</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2009/05/compile_sysbench_on_fedora_10">คอมไพล์ sysbench บน Fedora 10</a></li>
<li><a href="http://spalinux.com/2009/05/sysbench_cpu_benchmark">sysbench วัดความแรงของ CPU</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=102348&amp;package_id=109810" target="_blank">Download sysbench &#8211; SourceForge.net: System performance benchmark: Files</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/05/compile_sysbench_on_solaris_10_x86/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sysbench วัดความแรงของ CPU</title>
		<link>http://spalinux.com/2009/05/sysbench_cpu_benchmark</link>
		<comments>http://spalinux.com/2009/05/sysbench_cpu_benchmark#comments</comments>
		<pubDate>Sat, 16 May 2009 19:01:13 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[cpu benchmark]]></category>
		<category><![CDATA[sysbench]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=666</guid>
		<description><![CDATA[หลังจากที่คอมไพล์และติดตั้งโปรแกรม sysbench (คอมไพล์ sysbench บน Fedora 10) แล้ว ตอนนี้เราจะลองใช้ sysbench เพื่อทดสอบประสิทธิภาพความเร็วของ CPU (CPU Benchmark) วิธีการใช้คำสั่ง sysbench ต้องระบุออปชั่น test ว่าเราจะทดสอบอะไร อาจระบุออปชั่นต่างๆ เพิ่มเติม เป็นค่าตัวแปรผันแปรที่ใช้ในการทดสอบ ค่าเหล่านี้จะมีค่าดีฟอลต์อยู่แล้ว ดูได้จากการรันคำสั่ง sysbench แบบไม่มีออปชั่น หรือดูจากผลลัพธ์ในการัน การทดสอบในบทความนี้ เป็นการทดสอบ (test) CPU ให้คำนวณหาค่าจำนวนเฉพาะ (prime number)  ตั้งแต่ 1 ไปจนถึงตัวเลขมากสุดเท่ากับค่าตัวแปร cpu-max-prime ในที่นี้จะระบุ 20000 แล้วตามด้วยออปชั่น run เพื่อสั่งเริ่มการคำนวณ โดยในแต่การทดสอบจะมีการเปลี่ยนแปลงจำนวน CPU และจำนวน Threads ที่ใช้ (num-threads) ในการคำนวณ เพื่อเปรียบเทียบผลลัพธ์ด้วย คำเตือน!!! ไม่ควรรันโปรแกรม sysbench บนเครื่องที่ใช้งานจริง (production) [...]]]></description>
			<content:encoded><![CDATA[<p>หลังจากที่คอมไพล์และติดตั้งโปรแกรม sysbench (<a href="http://spalinux.com/2009/05/compile_sysbench_on_fedora_10">คอมไพล์ sysbench บน Fedora 10</a>) แล้ว ตอนนี้เราจะลองใช้ sysbench เพื่อทดสอบประสิทธิภาพความเร็วของ CPU (CPU Benchmark)</p>
<p>วิธีการใช้คำสั่ง sysbench ต้องระบุออปชั่น test ว่าเราจะทดสอบอะไร อาจระบุออปชั่นต่างๆ เพิ่มเติม เป็นค่าตัวแปรผันแปรที่ใช้ในการทดสอบ ค่าเหล่านี้จะมีค่าดีฟอลต์อยู่แล้ว ดูได้จากการรันคำสั่ง sysbench แบบไม่มีออปชั่น หรือดูจากผลลัพธ์ในการัน</p>
<p>การทดสอบในบทความนี้ เป็นการทดสอบ (test) CPU ให้คำนวณหาค่าจำนวนเฉพาะ (prime number)  ตั้งแต่ 1 ไปจนถึงตัวเลขมากสุดเท่ากับค่าตัวแปร cpu-max-prime ในที่นี้จะระบุ 20000 แล้วตามด้วยออปชั่น run เพื่อสั่งเริ่มการคำนวณ</p>
<p>โดยในแต่การทดสอบจะมีการเปลี่ยนแปลงจำนวน CPU และจำนวน Threads ที่ใช้ (num-threads) ในการคำนวณ เพื่อเปรียบเทียบผลลัพธ์ด้วย</p>
<p><span id="more-666"></span></p>
<p><span style="color: #ff0000;"><strong>คำเตือน!!!</strong> ไม่ควรรันโปรแกรม sysbench บนเครื่องที่ใช้งานจริง (production) เพราะจะมีผลกระทบกับเครื่องมาก และผลลัพธ์ที่ได้ก็ไม่ใช่ผลลัพธ์ที่ถูกต้อง</span></p>
<p><strong>หมายเหตุ</strong> ตัวอย่างในบทความนี้ ทดสอบใน VMware Server ที่รันบน Windows XP เพื่อจะจำลองจำนวน CPU และการระบุจำนวน threads ที่ใช้</p>
<h4>1. Benchmark  1 CPU &#8211; 1 Thread</h4>
<p>การทดสอบ 1, 2 จะคอนฟิกจำนวน CPU ในคอนฟิก VMware Server เท่ากับ 1</p>
<p><img class="alignnone size-full wp-image-668" title="VMware Settings 1 CPU" src="http://spalinux.com/wp-content/uploads/2009/05/01_vmware_settings_1_cpu.png" alt="VMware Settings 1 CPU" width="617" height="476" /></p>
<p>ตรวจสอบสเปคของ CPU ได้จากไฟล์ /proc/cpuinfo</p>
<pre>[root@fc10-dev ~]# <strong>cat /proc/cpuinfo</strong>
<span style="color: #0000ff;">processor       : 0
</span>vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
<span style="color: #0000ff;">model name      : Intel(R) Core(TM)2 Duo CPU     @ 2.53GHz
</span>stepping        : 8
cpu MHz         : 2526.986
cache size      : 6144 KB
...</pre>
<p>แนะนำให้เปิดสองหน้าจอ หน้าจอหนึ่งรันคำสั่ง top ทิ้งไว้เพื่อแสดงการใช้ CPU ของเครื่อง ระหว่างการรัน sysbench ในอีกหน้าจอ</p>
<p>หมายเหตุ</p>
<ul>
<li>เมื่อรันคำสั่ง top โดยดีฟอลต์จะแสดงค่าการใช้ CPU โดยสุรปรวมทั้งหมด</li>
<li>ถ้าต้องการแสดงค่าการใช้ CPU แยกแต่ละตัว ให้กด 1 ในคำสั่ง top</li>
<li>ถ้าต้องการออกจากคำสั่ง top ให้กดปุ่ม q หรือ [Ctrl-C]</li>
</ul>
<p>รันคำสั่ง sysbench เพื่อเริ่มการทดสอบ 1. Benchmark 1 CPU &#8211; 1 Thread</p>
<pre>[root@fc10-dev ~]# <strong>sysbench --test=cpu --cpu-max-prime=20000 run</strong>
sysbench 0.4.12:  multi-threaded system evaluation benchmark</pre>
<pre>Running the test with following options:
<span style="color: #0000ff;">Number of threads: 1</span></pre>
<pre>Doing CPU performance benchmark</pre>
<pre>Threads started!
Done.</pre>
<pre><span style="color: #0000ff;">Maximum prime number checked in CPU test: 20000
</span><span style="color: #0000ff;">Test execution summary:
    total time:                          25.7770s
</span>    total number of events:              10000
    total time taken by event execution: 25.7745
    per-request statistics:
         min:                                  2.39ms
         avg:                                  2.58ms
         max:                                  6.08ms
         approx.  95 percentile:               2.68ms</pre>
<pre>Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   25.7745/0.00</pre>
<pre>[root@fc10-dev ~]#</pre>
<p>ผลลัพธ์ในการรันทดสอบครั้งที่ 1 เวลาที่ใช้ในการคำนวณค่า &#8220;total time&#8221;</p>
<pre><span style="color: #0000ff;">Test execution summary:
    total time:                          25.7770s</span></pre>
<p>แปลว่าต้องใช้เวลาประมาณ 25 วินาทีกว่าๆ ในการหาจำนวนเฉพาะระหว่าง 1 ถึง 200000</p>
<p>การใช้ CPU จากคำสั่ง top ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 1</p>
<pre>[root@fc10-dev ~]# <strong>top
</strong>top - 18:17:57 up 9 min,  2 users,  load average: 0.18, 0.21, 0.11
Tasks:  80 total,   2 running,  78 sleeping,   0 stopped,   0 zombie
<span style="color: #0000ff;">Cpu0  :100.0%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
</span>Mem:    508292k total,   100896k used,   407396k free,     5180k buffers
Swap:  1068312k total,        0k used,  1068312k free,    37588k cached</pre>
<pre>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
<span style="color: #0000ff;"> 2053 root      20   0 46936 2080 1532 S 99.9  0.4   0:05.65 sysbench</span>
    1 root      20   0  4080  892  636 S  0.0  0.2   0:02.08 init
    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0</pre>
<p>การใช้ CPU จาก Windows Task Manager รันบน Windows XP (Host OS) ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 1</p>
<p><img class="alignnone size-full wp-image-669" title="Windows Task Manager - 1 CPU - 1 Thread" src="http://spalinux.com/wp-content/uploads/2009/05/02_windows_task_manager_1_cpu_1_thread.png" alt="Windows Task Manager - 1 CPU - 1 Thread" width="404" height="457" /></p>
<h4> </h4>
<h4>2. Benchmark  1 CPU &#8211; 2 Threads</h4>
<p>การทดสอบครั้งที่สองยังคงใช้แค่ 1 CPU แต่จะเปลี่ยนค่าตัวแปรของคำสั่ง sysbench ให้สร้าง 2 threads เพื่อใช้ในการคำนวณ โดยต้องระบุออปชั่น &#8211;num-threads=2</p>
<p>รันคำสั่ง sysbench เพื่อเริ่มการทดสอบ 2. Benchmark 1 CPU &#8211; 2 Thread</p>
<pre>[root@fc10-dev ~]# <strong>sysbench --test=cpu --cpu-max-prime=20000 <span style="color: #0000ff;">--num-threads=2</span> run</strong>
sysbench 0.4.12:  multi-threaded system evaluation benchmark</pre>
<pre>Running the test with following options:
<span style="color: #0000ff;">Number of threads: 2</span></pre>
<pre>Doing CPU performance benchmark</pre>
<pre>Threads started!
Done.</pre>
<pre><span style="color: #0000ff;">Maximum prime number checked in CPU test: 20000
</span><span style="color: #0000ff;">Test execution summary:
    total time:                          25.8331s
</span>    total number of events:              10000
    total time taken by event execution: 51.6430
    per-request statistics:
         min:                                  2.39ms
         avg:                                  5.16ms
         max:                                 33.79ms
         approx.  95 percentile:              13.36ms</pre>
<pre>Threads fairness:
    events (avg/stddev):           5000.0000/2.00
    execution time (avg/stddev):   25.8215/0.00</pre>
<pre>[root@fc10-dev ~]#</pre>
<p>เวลาที่ใช้ในการคำนวน (total time) ครั้งที่ 2 ใกล้เคียงกับการทดสอบครั้งที่ 1</p>
<p>การใช้ CPU จากคำสั่ง top ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 2</p>
<pre>[root@fc10-dev ~]# <strong>top</strong>
top - 18:20:16 up 11 min,  2 users,  load average: 0.36, 0.23, 0.13
Tasks:  80 total,   1 running,  79 sleeping,   0 stopped,   0 zombie
<span style="color: #0000ff;">Cpu0  :100.0%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st</span>
Mem:    508292k total,   101028k used,   407264k free,     5340k buffers
Swap:  1068312k total,        0k used,  1068312k free,    37588k cached</pre>
<pre>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
<span style="color: #0000ff;"> 2055 root      20   0 46968 2116 1532 S 99.9  0.4   0:06.34 sysbench
</span>    1 root      20   0  4080  892  636 S  0.0  0.2   0:02.08 init
    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0</pre>
<p>การใช้ CPU จาก Windows Task Manager รันบน Windows XP (Host OS) ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 2</p>
<p><img class="alignnone size-full wp-image-670" title="Windows Task Manager - 1 CPU - 2 Threads" src="http://spalinux.com/wp-content/uploads/2009/05/03_windows_task_manager_1_cpu_2_threads.png" alt="Windows Task Manager - 1 CPU - 2 Threads" width="404" height="457" /></p>
<h4>3. Benchmark  2 CPU &#8211; 1 Thread</h4>
<p>การทดสอบครั้งที่ 3, 4 จะเปลี่ยนจำนวน CPU ในคอนฟิก VMware Server เป็น 2 CPU</p>
<p><img class="alignnone size-full wp-image-671" title="VMware Settings 2 CPU" src="http://spalinux.com/wp-content/uploads/2009/05/04_vmware_settings_2_cpu.png" alt="VMware Settings 2 CPU" width="617" height="476" /></p>
<p>ตรวจสอบสเปคของ CPU ได้จากไฟล์ /proc/cpuinfo</p>
<pre>[root@fc10-dev ~]# <strong>cat /proc/cpuinfo</strong>
<span style="color: #0000ff;">processor       : 0
</span>vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
<span style="color: #0000ff;">model name      : Intel(R) Core(TM)2 Duo CPU     @ 2.53GHz
</span>stepping        : 8
cpu MHz         : 2526.985
cache size      : 6144 KB
...</pre>
<pre><span style="color: #0000ff;">processor       : 1
</span>vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
<span style="color: #0000ff;">model name      : Intel(R) Core(TM)2 Duo CPU     @ 2.53GHz
</span>stepping        : 8
cpu MHz         : 2526.985
cache size      : 6144 KB
...</pre>
<p>การทดสอบครั้งที่ 3 มี 2 CPU แล้ว แต่จะรันทดสอบโดยใช้แค่ 1 thread ก่อน</p>
<p>รันคำสั่ง sysbench เพื่อเริ่มการทดสอบ 3. Benchmark 2 CPU &#8211; 1 Thread</p>
<pre>[root@fc10-dev ~]# <strong>sysbench --test=cpu --cpu-max-prime=20000 run</strong>
sysbench 0.4.12:  multi-threaded system evaluation benchmark</pre>
<pre>Running the test with following options:
<span style="color: #0000ff;">Number of threads: 1</span></pre>
<pre>Doing CPU performance benchmark</pre>
<pre>Threads started!
Done.</pre>
<pre><span style="color: #0000ff;">Maximum prime number checked in CPU test: 20000
Test execution summary:
    total time:                          26.2995s
</span>    total number of events:              10000
    total time taken by event execution: 26.2713
    per-request statistics:
         min:                                  2.40ms
         avg:                                  2.63ms
         max:                                 14.51ms
         approx.  95 percentile:               2.96ms</pre>
<pre>Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   26.2713/0.00</pre>
<pre>[root@fc10-dev ~]#</pre>
<p>ผลลัพธ์ที่ได้จากรันทดสอบครั้งที่ 3 เวลาที่ใช้ในการคำนวณค่า &#8220;total time&#8221; ก็ยังคงใกล้เคียงกับครั้งที่ 1, 2</p>
<p>การใช้ CPU จากคำสั่ง top ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 3 จะเห็นว่ามีการใช้แค่ CPU เดียวเท่านั้น  CPU อีกตัว 100.0%id คือไม่ได้ถูกใช้เลย</p>
<pre>[root@fc10-dev ~]# <strong>top</strong>
top - 18:31:55 up 3 min,  2 users,  load average: 0.18, 0.13, 0.05
Tasks:  93 total,   2 running,  91 sleeping,   0 stopped,   0 zombie
<span style="color: #0000ff;">Cpu0  : 79.0%us, 21.0%sy,  0.0%ni, <strong> 0.0%id</strong>,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,<strong>100.0%id</strong>,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
</span>Mem:    508196k total,   114384k used,   393812k free,     5008k buffers
Swap:  1068312k total,        0k used,  1068312k free,    39524k cached</pre>
<pre>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
<span style="color: #0000ff;"> 2163 root      20   0 47828 2076 1528 S 99.9  0.4   0:08.95 sysbench
</span>    1 root      20   0  4080  896  636 S  0.0  0.2   0:01.44 init
    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0</pre>
<p>การใช้ CPU จาก Windows Task Manager รันบน Windows XP (Host OS) ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 3 กราฟที่แสดง มีการใช้ CPU เพียงแค่ตัวเดียวเท่านั้น ซึ่งตรงกับผลัพธ์จากคำสั่ง top</p>
<p><img class="alignnone size-full wp-image-672" title="Windows Task Manager - 2 CPU - 1 Thread" src="http://spalinux.com/wp-content/uploads/2009/05/05_windows_task_manager_2_cpu_1_thread.png" alt="Windows Task Manager - 2 CPU - 1 Thread" width="404" height="457" /></p>
<p> </p>
<h4>4. Benchmark 2 CPU &#8211; 2 Threads</h4>
<p>การทดสอบครั้งที่ 4 เครื่องมี 2 CPU แต่จะเปลี่ยนค่าตัวแปรของคำสั่ง sysbench ให้สร้าง 2 threads เพื่อใช้ในการคำนวณ &#8211;num-threads=2</p>
<p>รันคำสั่ง sysbench เพื่อเริ่มการทดสอบ 4. Benchmark 2 CPU &#8211; 2 Threads</p>
<pre>[root@fc10-dev ~]# <strong>sysbench --test=cpu --cpu-max-prime=20000 <span style="color: #0000ff;">--num-threads=2</span> run</strong>
sysbench 0.4.12:  multi-threaded system evaluation benchmark</pre>
<pre>Running the test with following options:
<span style="color: #0000ff;">Number of threads: 2</span></pre>
<pre>Doing CPU performance benchmark</pre>
<pre>Threads started!
Done.</pre>
<pre><span style="color: #0000ff;">Maximum prime number checked in CPU test: 20000
Test execution summary:
    total time:                          13.4928s
</span>    total number of events:              10000
    total time taken by event execution: 26.9476
    per-request statistics:
         min:                                  2.52ms
         avg:                                  2.69ms
         max:                                 17.48ms
         approx.  95 percentile:               2.93ms</pre>
<pre>Threads fairness:
    events (avg/stddev):           5000.0000/16.00
    execution time (avg/stddev):   13.4738/0.00</pre>
<pre>[root@fc10-dev ~]#</pre>
<p>ผลลัพธ์ในการรันทดสอบครั้งที่ 4 เวลาที่ใช้ในการคำนวณค่า &#8220;total time&#8221; มีค่าน้อยกว่าค่าที่ได้จากครั้งที่ 1,2 และ 3 เกือบครึ่ง หมายความว่าการใช้คอนฟิกแบบนี้ 2 CPU และใช้ 2 threads สามารถคำนวณค่าจำนวนเฉพาะได้เร็วกว่านั่นเอง</p>
<p>การใช้ CPU จากคำสั่ง top ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 4 แสดงให้เห็นว่ามีการใช้ CPU ทั้ง 2 ตัว พร้อมกัน (0.0%id)</p>
<pre>[root@fc10-dev ~]# <strong>top</strong>
top - 18:33:44 up 5 min,  2 users,  load average: 0.53, 0.23, 0.10
Tasks:  93 total,   2 running,  91 sleeping,   0 stopped,   0 zombie
<span style="color: #0000ff;">Cpu0  : 80.1%us, 19.9%sy,  0.0%ni,  <strong>0.0%id</strong>,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 93.6%us,  6.4%sy,  0.0%ni,  <strong>0.0%id</strong>,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
</span>Mem:    508196k total,   114640k used,   393556k free,     5152k buffers
Swap:  1068312k total,        0k used,  1068312k free,    39524k cached</pre>
<pre>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
<span style="color: #0000ff;"> 2165 root      20   0 46968 2096 1532 S 199.4  0.4   0:23.56 sysbench
</span>    1 root      20   0  4080  896  636 S  0.0  0.2   0:01.44 init
    2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd
    3 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0
    4 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0</pre>
<p>การใช้ CPU จาก Windows Task Manager รันบน Windows XP (Host OS) ระหว่างการรันคำสั่ง sysbench ในทดสอบครั้งที่ 4 กราฟแสดงให้เห็นว่ามีการใช้ CPU ทั้ง 2 ตัว</p>
<p><img class="alignnone size-full wp-image-673" title="Windows Task Manager - 2 CPU - 2 Thread" src="http://spalinux.com/wp-content/uploads/2009/05/06_windows_task_manager_2_cpu_2_thread.png" alt="Windows Task Manager - 2 CPU - 2 Thread" width="404" height="457" /></p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2009/05/compile_sysbench_on_fedora_10">คอมไพล์ sysbench บน Fedora 10</a></li>
<li><a href="http://sysbench.sourceforge.net/docs/" target="_blank">SysBench manual</a></li>
<li><a href="http://spalinux.com/2009/05/compile_sysbench_on_solaris_10_x86">คอมไพล์ sysbench บน Solaris 10 (x86)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/05/sysbench_cpu_benchmark/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>คอมไพล์ sysbench บน Fedora 10</title>
		<link>http://spalinux.com/2009/05/%e0%b8%84%e0%b8%ad%e0%b8%a1%e0%b9%84%e0%b8%9e%e0%b8%a5%e0%b9%8c-sysbench-%e0%b8%9a%e0%b8%99-fedora-10</link>
		<comments>http://spalinux.com/2009/05/%e0%b8%84%e0%b8%ad%e0%b8%a1%e0%b9%84%e0%b8%9e%e0%b8%a5%e0%b9%8c-sysbench-%e0%b8%9a%e0%b8%99-fedora-10#comments</comments>
		<pubDate>Sat, 16 May 2009 10:40:35 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[sysbench]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=656</guid>
		<description><![CDATA[SysBench เป็นโปรแกรมที่ใช้วัดประสิทธิภาพ (benchmark) ของเครื่องได้หลายอย่าง ทั้ง CPU, Memory, Disk และ Database ทั้งนี้ยังสามารถระบุออปชั่นสำหรับการทดสอบได้เช่น จำนวน thread ที่รัน ขนาดที่จะทดสอบ ระยะเวลาที่ใช้ในการรัน เราสามารถนำผลลัพธ์ที่ได้มาเปรียบเทียบเพื่อการตัดสินใจเลือกซื้อ ปรับแต่งเครื่อง หรือแก้ไขคอนฟิกให้ระบบทำงานได้ดีขึ้น เนื่องจากในแผ่นติดั้ง หรือ จาก Fedora 10 Everything ไม่มีโปรแกรม sysbench ในรูปแบบ rpm ทำให้การที่จะใช้โปรแกรมนี้ได้ ในบทความนี้ขอนำเสนอขั้นตอนและวิธีการคอมไพล์โปรแกรม sysbench และติดตั้งเอง หมายเหตุ เครื่องที่จะคอมไพล์ source file ได้นั้น จำเป็นต้องติดตั้ง package ประเภท development ด้วย ดาวน์โหลดไฟล์ เวอร์ชั่นล่าสุดตอนที่เขียนบทความนี้ (16 May 2009) คือ sysbench-0.4.12 สามารถดาวน์โหลดได้ที่ Download sysbench &#8211; SourceForge.net: [...]]]></description>
			<content:encoded><![CDATA[<p>SysBench เป็นโปรแกรมที่ใช้วัดประสิทธิภาพ (benchmark) ของเครื่องได้หลายอย่าง ทั้ง CPU, Memory, Disk และ Database ทั้งนี้ยังสามารถระบุออปชั่นสำหรับการทดสอบได้เช่น จำนวน thread ที่รัน ขนาดที่จะทดสอบ ระยะเวลาที่ใช้ในการรัน</p>
<p>เราสามารถนำผลลัพธ์ที่ได้มาเปรียบเทียบเพื่อการตัดสินใจเลือกซื้อ ปรับแต่งเครื่อง หรือแก้ไขคอนฟิกให้ระบบทำงานได้ดีขึ้น</p>
<p>เนื่องจากในแผ่นติดั้ง หรือ จาก Fedora 10 Everything ไม่มีโปรแกรม sysbench ในรูปแบบ rpm ทำให้การที่จะใช้โปรแกรมนี้ได้ ในบทความนี้ขอนำเสนอขั้นตอนและวิธีการคอมไพล์โปรแกรม sysbench และติดตั้งเอง</p>
<p><span id="more-656"></span></p>
<p>หมายเหตุ เครื่องที่จะคอมไพล์ source file ได้นั้น จำเป็นต้องติดตั้ง package ประเภท development ด้วย</p>
<h4>ดาวน์โหลดไฟล์</h4>
<p>เวอร์ชั่นล่าสุดตอนที่เขียนบทความนี้ (16 May 2009) คือ sysbench-0.4.12 สามารถดาวน์โหลดได้ที่ <a href="http://sourceforge.net/project/showfiles.php?group_id=102348&amp;package_id=109810" target="_blank">Download sysbench &#8211; SourceForge.net: System performance benchmark: Files</a></p>
<h4>แตกไฟล์ (extract) ใน /usr/local/src/</h4>
<p>โปรแกรมที่นำมาคอมไพล์และติดตั้งเอง แนะนำให้ไว้ใน /usr/local/ เพราะเวลาปรับปรุง หรือติดตั้งใหม่ จะได้สะดวกต่อการอ้างอิงและค้นหา ในที่นี้จะไว้ใน /usr/local/src/ เพื่อเก็บ source file และไฟล์ที่ใช้ระหว่างการคอมไพล์โปรแกรม</p>
<pre>[root@fc10-dev ~]# <strong>cp sysbench-0.4.12.tar.gz /usr/local/src/</strong>
[root@fc10-dev ~]# <strong>cd /usr/local/src/
</strong>[root@fc10-dev src]# <strong>ls -l
</strong>total 420
-rw-r--r-- 1 root root 421932 2009-05-16 17:02 sysbench-0.4.12.tar.gz</pre>
<p>ใช้คำสั่ง tar เพื่อแตกไฟล์</p>
<pre>[root@fc10-dev src]# <strong>tar zxvf sysbench-0.4.12.tar.gz
</strong>sysbench-0.4.12/
sysbench-0.4.12/configure
sysbench-0.4.12/TODO
sysbench-0.4.12/missing
sysbench-0.4.12/INSTALL
sysbench-0.4.12/autogen.sh
sysbench-0.4.12/Makefile.in
sysbench-0.4.12/README
sysbench-0.4.12/Makefile.am
sysbench-0.4.12/README-WIN.txt
...
...
...
sysbench-0.4.12/sysbench/sysbench.h
sysbench-0.4.12/sysbench/sb_options.h
sysbench-0.4.12/sysbench/sb_list.h
sysbench-0.4.12/sysbench/sb_logger.h
sysbench-0.4.12/sysbench/sb_logger.c
sysbench-0.4.12/sysbench/sb_options.c
sysbench-0.4.12/sysbench/sb_timer.c
sysbench-0.4.12/sysbench/sb_timer.h
sysbench-0.4.12/sysbench/CMakeLists.txt
sysbench-0.4.12/sysbench/sb_win.c</pre>
<p>ใช้คำสั่ง cd เข้าไปในไดเร็คทอรี ใช้คำสั่ง ls เพื่อดูไฟล์</p>
<pre>[root@fc10-dev src]# cd sysbench-0.4.12/
[root@fc10-dev sysbench-0.4.12]# ls
acinclude.m4  autogen.sh  config     configure.ac  doc      install-sh   Makefile.in  mkinstalldirs  README-WIN.txt  TODO
aclocal.m4    ChangeLog   configure  COPYING       INSTALL  Makefile.am  missing      README         sysbench</pre>
<h4>รัน ./configure</h4>
<p>รัน ./configure เพื่อตรวจสอบไฟล์ต่างๆ ที่จำเป็นในการคอนไพล์โปรแกรม และสร้าง Makefile สำหรับคอมไพล์โปรแกรม</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>./configure
</strong>checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to compile with MySQL support... (cached) yes
checking whether to compile with Oracle support... (cached) no
checking whether to compile with PostgreSQL support... (cached) no
checking for style of include used by make... GNU
checking for gcc... gcc
...
...
...
checking for cc_r... gcc
checking for sqrt in -lm... yes
checking for mysql_config... no
<span style="color: #ff0000;">configure: error: mysql_config executable not found
********************************************************************************
ERROR: cannot find MySQL libraries. If you want to compile with MySQL support,
       you must either specify file locations explicitly using
       --with-mysql-includes and --with-mysql-libs options, or make sure path to
       mysql_config is listed in your PATH environment variable. If you want to
       disable MySQL support, use --without-mysql option.
********************************************************************************</span></pre>
<pre>[root@fc10-dev sysbench-0.4.12]#</pre>
<p>ถ้าเจอข้อความฟ้องเตือน error แปลว่าขาดไฟล์ที่ต้องใช้  จำเป็นต้องติดตั้งไฟล์เพิ่มเติมก่อน แล้วรัน ./configure อีกครั้ง</p>
<p><span style="color: #808080;">แต่ถ้าในกรณีเราไม่ต้องการใช้โปรแกรม sysbench เพื่อทดสอบประสิทธิภาพของ mysql สามารถรัน ./configure ตามด้วยออปชั่น &#8211;without-mysql ก็รัน ./configure ผ่านได้</span></p>
<pre><span style="color: #808080;">[root@fc10-dev sysbench-0.4.12]# </span><span style="color: #808080;"><strong>./configure --without-mysql
</strong>checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to compile with MySQL support... (cached) no
checking whether to compile with Oracle support... (cached) no
checking whether to compile with PostgreSQL support... (cached) no
checking for style of include used by make... GNU
checking for gcc... gcc
...
...
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/xsl/Makefile
config.status: creating doc/xsl/catalog.xml
config.status: creating doc/Makefile
config.status: creating sysbench/Makefile
config.status: creating sysbench/drivers/Makefile
config.status: creating sysbench/drivers/mysql/Makefile
config.status: creating sysbench/drivers/oracle/Makefile
config.status: creating sysbench/drivers/pgsql/Makefile
config.status: creating sysbench/tests/Makefile
config.status: creating sysbench/tests/cpu/Makefile
config.status: creating sysbench/tests/fileio/Makefile
config.status: creating sysbench/tests/memory/Makefile
config.status: creating sysbench/tests/threads/Makefile
config.status: creating sysbench/tests/mutex/Makefile
config.status: creating sysbench/tests/oltp/Makefile
config.status: creating config/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
[root@fc10-dev sysbench-0.4.12]#</span></pre>
<p>ข้อความ error ด้านบน &#8220;<span style="color: #ff0000;">configure: error: mysql_config executable not found</span>&#8221; หมายถึงเครื่องนี้ไม่มีไฟล์ mysql_config ซึ่งได้จากการติดตั้ง mysql</p>
<p>สามารถติดตั้ง mysql เพิ่มเติม จากแผ่น DVD ติดตั้ง ใส่แผ่น DVD ใช้คำสั่ง mount เพื่อติดตั้งไฟล์ package ของ mysql</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>mount /dev/scd0 /media/
</strong>mount: block device /dev/sr0 is write-protected, mounting read-only
[root@fc10-dev sysbench-0.4.12]# <strong>cd /media/Packages/</strong></pre>
<pre>[root@fc10-dev Packages]# <strong>rpm -i mysql-libs-5.0.67-2.fc10.x86_64.rpm
</strong>[root@fc10-dev Packages]# <strong>rpm -i perl-DBI-1.607-1.fc10.x86_64.rpm
</strong>[root@fc10-dev Packages]# <strong>rpm -i mysql-5.0.67-2.fc10.x86_64.rpm</strong></pre>
<pre>[root@fc10-dev Packages]# <strong>cd -
</strong>/usr/local/src/sysbench-0.4.12
[root@fc10-dev sysbench-0.4.12]#</pre>
<p>รัน ./configure อีกครั้ง</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>./configure
</strong>checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to compile with MySQL support... (cached) yes
checking whether to compile with Oracle support... (cached) no
checking whether to compile with PostgreSQL support... (cached) no
checking for style of include used by make... GNU
checking for gcc... gcc
...
...
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/xsl/Makefile
config.status: creating doc/xsl/catalog.xml
config.status: creating doc/Makefile
config.status: creating sysbench/Makefile
config.status: creating sysbench/drivers/Makefile
config.status: creating sysbench/drivers/mysql/Makefile
config.status: creating sysbench/drivers/oracle/Makefile
config.status: creating sysbench/drivers/pgsql/Makefile
config.status: creating sysbench/tests/Makefile
config.status: creating sysbench/tests/cpu/Makefile
config.status: creating sysbench/tests/fileio/Makefile
config.status: creating sysbench/tests/memory/Makefile
config.status: creating sysbench/tests/threads/Makefile
config.status: creating sysbench/tests/mutex/Makefile
config.status: creating sysbench/tests/oltp/Makefile
config.status: creating config/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
[root@fc10-dev sysbench-0.4.12]#</pre>
<p>ก่อนจะข้ามไปขั้นตอนต่อไปต้องดูผลลัพธ์ของ ./configure ด้วยว่ายังมี error ใดๆ อีกหรือไม่</p>
<h4>รัน make</h4>
<p>รัน make เพื่อเริ่มคอมไฟล์โปรแกรม</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>make
</strong>Making all in doc
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12/doc'
Making all in xsl
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/doc'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc'
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc'
Making all in sysbench
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench'
Making all in drivers
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers'
Making all in mysql
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers/mysql'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -I/usr/include/mysql  -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbmysql_a-drv_mysql.o -MD -MP -MF .deps/libsbmysql_a-drv_mysql.Tpo -c -o libsbmysql_a-drv_mysql.o `test -f 'drv_mysql.c' || echo './'`drv_mysql.c
<span style="color: #ff0000;">drv_mysql.c:35:19: error: mysql.h: No such file or directory
drv_mysql.c:36:26: error: mysqld_error.h: No such file or directory
</span>drv_mysql.c: In function ‘mysql_drv_describe’:
drv_mysql.c:284: error: ‘MYSQL_RES’ undeclared (first use in this function)
drv_mysql.c:284: error: (Each undeclared identifier is reported only once
drv_mysql.c:284: error: for each function it appears in.)
drv_mysql.c:284: error: ‘res’ undeclared (first use in this function)
drv_mysql.c:285: error: ‘MYSQL_ROW’ undeclared (first use in this function)
drv_mysql.c:285: error: expected ‘;’ before ‘row’
drv_mysql.c:286: error: ‘MYSQL_FIELD’ undeclared (first use in this function)
drv_mysql.c:286: error: ‘fields’ undeclared (first use in this function)
drv_mysql.c:328: error: ‘row’ undeclared (first use in this function)
drv_mysql.c: In function ‘mysql_drv_connect’:
drv_mysql.c:360: error: ‘MYSQL’ undeclared (first use in this function)
drv_mysql.c:360: error: ‘con’ undeclared (first use in this function)
drv_mysql.c:366: error: expected expression before ‘)’ token
drv_mysql.c:401: error: ‘MYSQL_VERSION_ID’ undeclared (first use in this function)
drv_mysql.c: In function ‘mysql_drv_disconnect’:
drv_mysql.c:441: error: ‘MYSQL’ undeclared (first use in this function)
drv_mysql.c:441: error: ‘con’ undeclared (first use in this function)
drv_mysql.c: In function ‘mysql_drv_bind_param’:
drv_mysql.c:520: error: ‘MYSQL’ undeclared (first use in this function)
drv_mysql.c:520: error: ‘con’ undeclared (first use in this function)
drv_mysql.c:520: error: expected expression before ‘)’ token
drv_mysql.c: In function ‘mysql_drv_query’:
drv_mysql.c:729: error: ‘MYSQL’ undeclared (first use in this function)
drv_mysql.c:729: error: ‘con’ undeclared (first use in this function)
drv_mysql.c:739: error: ‘ER_LOCK_DEADLOCK’ undeclared (first use in this function)
drv_mysql.c:739: error: ‘ER_LOCK_WAIT_TIMEOUT’ undeclared (first use in this function)
drv_mysql.c:739: error: ‘ER_CHECKREAD’ undeclared (first use in this function)
drv_mysql.c: In function ‘mysql_drv_store_results’:
drv_mysql.c:789: error: ‘MYSQL’ undeclared (first use in this function)
drv_mysql.c:789: error: ‘con’ undeclared (first use in this function)
drv_mysql.c:790: error: ‘MYSQL_RES’ undeclared (first use in this function)
drv_mysql.c:790: error: ‘res’ undeclared (first use in this function)
drv_mysql.c:791: error: ‘MYSQL_ROW’ undeclared (first use in this function)
drv_mysql.c:791: error: expected ‘;’ before ‘row’
drv_mysql.c:839: error: ‘ER_LOCK_DEADLOCK’ undeclared (first use in this function)
drv_mysql.c:839: error: ‘ER_LOCK_WAIT_TIMEOUT’ undeclared (first use in this function)
drv_mysql.c:855: error: ‘row’ undeclared (first use in this function)
drv_mysql.c: In function ‘mysql_drv_free_results’:
drv_mysql.c:879: error: ‘MYSQL_RES’ undeclared (first use in this function)
drv_mysql.c:879: error: expected expression before ‘)’ token
make[3]: *** [libsbmysql_a-drv_mysql.o] Error 1
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers/mysql'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make: *** [all-recursive] Error 1
[root@fc10-dev sysbench-0.4.12]#</pre>
<p>ถ้ามีข้อความ error ฟ้องเตือนขึ้นมา แสดงว่าคอมไพล์โปรแกรมไม่สำเร็จ ต้องทำการแก้ไข ส่วนมากคือขาดไฟล์ที่ต้องใช้ ในที่นี้</p>
<pre><span style="color: #ff0000;">drv_mysql.c:35:19: error: mysql.h: No such file or directory
drv_mysql.c:36:26: error: mysqld_error.h: No such file or directory</span></pre>
<p>แปลว่าขาดไฟล์ header ของ mysql ต้องติดตั้งเพิ่มเติม ไฟล์ header (mysql.h, mysqld_error.h) อยู่ใน package ชื่อ mysql-devel ซึ่งไม่มีอยู่ในแผ่นติดตั้ง DVD ต้องดาวน์โหลดเพิ่มเติมจาก  <a href="ftp://www.mirror.in.th./fedora/releases/10/Everything/x86_64/os/Packages/" target="_blank">FC10 Everything (x86_64)</a></p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>cd ~
</strong>[root@fc10-dev ~]# <strong>rpm -i mysql-devel-5.0.67-2.fc10.x86_64.rpm</strong></pre>
<pre>[root@fc10-dev ~]# <strong>cd -</strong>
/usr/local/src/sysbench-0.4.12
[root@fc10-dev sysbench-0.4.12]#</pre>
<p>รันคำสั่ง make อีกครั้ง</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>make
</strong>Making all in doc
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12/doc'
Making all in xsl
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/doc'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc'
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc'
Making all in sysbench
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench'
Making all in drivers
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers'
Making all in mysql
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers/mysql'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -I/usr/include/mysql  -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbmysql_a-drv_mysql.o -MD -MP -MF .deps/libsbmysql_a-drv_mysql.Tpo -c -o libsbmysql_a-drv_mysql.o `test -f 'drv_mysql.c' || echo './'`drv_mysql.c
mv -f .deps/libsbmysql_a-drv_mysql.Tpo .deps/libsbmysql_a-drv_mysql.Po
rm -f libsbmysql.a
ar cru libsbmysql.a libsbmysql_a-drv_mysql.o
ranlib libsbmysql.a
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers/mysql'
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers'
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/drivers'
Making all in tests
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests'
Making all in cpu
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/cpu'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbcpu_a-sb_cpu.o -MD -MP -MF .deps/libsbcpu_a-sb_cpu.Tpo -c -o libsbcpu_a-sb_cpu.o `test -f 'sb_cpu.c' || echo './'`sb_cpu.c
mv -f .deps/libsbcpu_a-sb_cpu.Tpo .deps/libsbcpu_a-sb_cpu.Po
rm -f libsbcpu.a
ar cru libsbcpu.a libsbcpu_a-sb_cpu.o
ranlib libsbcpu.a
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/cpu'
Making all in fileio
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/fileio'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbfileio_a-sb_fileio.o -MD -MP -MF .deps/libsbfileio_a-sb_fileio.Tpo -c -o libsbfileio_a-sb_fileio.o `test -f 'sb_fileio.c' || echo './'`sb_fileio.c
mv -f .deps/libsbfileio_a-sb_fileio.Tpo .deps/libsbfileio_a-sb_fileio.Po
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbfileio_a-crc32.o -MD -MP -MF .deps/libsbfileio_a-crc32.Tpo -c -o libsbfileio_a-crc32.o `test -f 'crc32.c' || echo './'`crc32.c
mv -f .deps/libsbfileio_a-crc32.Tpo .deps/libsbfileio_a-crc32.Po
rm -f libsbfileio.a
ar cru libsbfileio.a libsbfileio_a-sb_fileio.o libsbfileio_a-crc32.o
ranlib libsbfileio.a
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/fileio'
Making all in memory
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/memory'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbmemory_a-sb_memory.o -MD -MP -MF .deps/libsbmemory_a-sb_memory.Tpo -c -o libsbmemory_a-sb_memory.o `test -f 'sb_memory.c' || echo './'`sb_memory.c
mv -f .deps/libsbmemory_a-sb_memory.Tpo .deps/libsbmemory_a-sb_memory.Po
rm -f libsbmemory.a
ar cru libsbmemory.a libsbmemory_a-sb_memory.o
ranlib libsbmemory.a
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/memory'
Making all in threads
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/threads'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbthreads_a-sb_threads.o -MD -MP -MF .deps/libsbthreads_a-sb_threads.Tpo -c -o libsbthreads_a-sb_threads.o `test -f 'sb_threads.c' || echo './'`sb_threads.c
mv -f .deps/libsbthreads_a-sb_threads.Tpo .deps/libsbthreads_a-sb_threads.Po
rm -f libsbthreads.a
ar cru libsbthreads.a libsbthreads_a-sb_threads.o
ranlib libsbthreads.a
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/threads'
Making all in mutex
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/mutex'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench  -pthread -g -O2 -MT libsbmutex_a-sb_mutex.o -MD -MP -MF .deps/libsbmutex_a-sb_mutex.Tpo -c -o libsbmutex_a-sb_mutex.o `test -f 'sb_mutex.c' || echo './'`sb_mutex.c
mv -f .deps/libsbmutex_a-sb_mutex.Tpo .deps/libsbmutex_a-sb_mutex.Po
rm -f libsbmutex.a
ar cru libsbmutex.a libsbmutex_a-sb_mutex.o
ranlib libsbmutex.a
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/mutex'
Making all in oltp
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/oltp'
gcc -DHAVE_CONFIG_H -I. -I../../../config  -I./.. -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../../../sysbench -I/usr/include/mysql  -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC  -pthread -g -O2 -MT libsboltp_a-sb_oltp.o -MD -MP -MF .deps/libsboltp_a-sb_oltp.Tpo -c -o libsboltp_a-sb_oltp.o `test -f 'sb_oltp.c' || echo './'`sb_oltp.c
mv -f .deps/libsboltp_a-sb_oltp.Tpo .deps/libsboltp_a-sb_oltp.Po
rm -f libsboltp.a
ar cru libsboltp.a libsboltp_a-sb_oltp.o
ranlib libsboltp.a
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests/oltp'
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench/tests'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests'
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench/tests'
Making all in .
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/sysbench'
gcc -DHAVE_CONFIG_H -I. -I../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../sysbench  -pthread -g -O2 -MT sysbench.o -MD -MP -MF .deps/sysbench.Tpo -c -o sysbench.o sysbench.c
mv -f .deps/sysbench.Tpo .deps/sysbench.Po
gcc -DHAVE_CONFIG_H -I. -I../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../sysbench  -pthread -g -O2 -MT sb_timer.o -MD -MP -MF .deps/sb_timer.Tpo -c -o sb_timer.o sb_timer.c
mv -f .deps/sb_timer.Tpo .deps/sb_timer.Po
gcc -DHAVE_CONFIG_H -I. -I../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../sysbench  -pthread -g -O2 -MT sb_options.o -MD -MP -MF .deps/sb_options.Tpo -c -o sb_options.o sb_options.c
mv -f .deps/sb_options.Tpo .deps/sb_options.Po
gcc -DHAVE_CONFIG_H -I. -I../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../sysbench  -pthread -g -O2 -MT sb_logger.o -MD -MP -MF .deps/sb_logger.Tpo -c -o sb_logger.o sb_logger.c
mv -f .deps/sb_logger.Tpo .deps/sb_logger.Po
gcc -DHAVE_CONFIG_H -I. -I../config  -D_REENTRANT -D_XOPEN_SOURCE=500 -D_GNU_SOURCE -I../sysbench  -pthread -g -O2 -MT db_driver.o -MD -MP -MF .deps/db_driver.Tpo -c -o db_driver.o db_driver.c
mv -f .deps/db_driver.Tpo .deps/db_driver.Po
/bin/sh ../libtool --tag=CC   --mode=link gcc -pthread -g -O2      -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -rdynamic -L/usr/lib64/mysql -lmysqlclient_r -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto   -lrt -lm
<span style="color: #ff0000;">../libtool: line 838: X--tag=CC: command not found
../libtool: line 871: libtool: ignoring unknown tag : command not found
../libtool: line 838: X--mode=link: command not found
../libtool: line 1004: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 1005: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 2231: X-g: command not found
../libtool: line 2231: X-O2: command not found
../libtool: line 2231: X-rdynamic: command not found
../libtool: line 1951: X-L/usr/lib64/mysql: No such file or directory
../libtool: line 1951: X-L/usr/lib64: No such file or directory
../libtool: line 2400: Xsysbench: command not found
../libtool: line 2405: X: command not found
../libtool: line 2412: Xsysbench: command not found
../libtool: line 2547: X-lmysqlclient_r: command not found
../libtool: line 2547: X-lz: command not found
../libtool: line 2547: X-lcrypt: command not found
../libtool: line 2547: X-lnsl: command not found
../libtool: line 2547: X-lm: command not found
../libtool: line 2547: X-lssl: command not found
../libtool: line 2547: X-lcrypto: command not found
../libtool: line 2547: X-lrt: command not found
../libtool: line 2547: X-lm: command not found
../libtool: line 2629: X-L/usr/local/src/sysbench-0.4.12/sysbench: No such file or directory
../libtool: line 2547: X-lmysqlclient_r: command not found
../libtool: line 2547: X-lz: command not found
../libtool: line 2547: X-lcrypt: command not found
../libtool: line 2547: X-lnsl: command not found
../libtool: line 2547: X-lssl: command not found
../libtool: line 2547: X-lcrypto: command not found
../libtool: line 2547: X-lrt: command not found
../libtool: line 2547: X-lm: command not found
../libtool: line 2629: X-L/usr/local/src/sysbench-0.4.12/sysbench: No such file or directory
../libtool: line 2547: X-lmysqlclient_r: command not found
../libtool: line 2547: X-lz: command not found
../libtool: line 2547: X-lcrypt: command not found
../libtool: line 2547: X-lnsl: command not found
../libtool: line 2547: X-lssl: command not found
../libtool: line 2547: X-lcrypto: command not found
../libtool: line 2547: X-lrt: command not found
../libtool: line 2547: X-lm: command not found
../libtool: line 5162: Xgcc -pthread "" "" -o @OUTPUT@ sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o ""  tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -L/usr/local/src/sysbench-0.4.12/sysbench -lmysqlclient_r -lz -lcrypt -lnsl -lssl -lcrypto -lrt -lm: No such file or directory
../libtool: line 5163: Xgcc -pthread "" "" -o @OUTPUT@ sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o ""  tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -L/usr/local/src/sysbench-0.4.12/sysbench -lmysqlclient_r -lz -lcrypt -lnsl -lssl -lcrypto -lrt -lm: No such file or directory
../libtool: line 5168: X: command not found
../libtool: line 5172: : command not found
</span>make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12'
[root@fc10-dev sysbench-0.4.12]#</pre>
<p>การรัน make ครั้งนี้ก็ยังมี error อีก</p>
<pre><span style="color: #ff0000;">../libtool: line 838: X--tag=CC: command not found
../libtool: line 871: libtool: ignoring unknown tag : command not found
../libtool: line 838: X--mode=link: command not found</span></pre>
<p>เท่าที่ทดสอบและตรวจสอบข้อมูลจากเว็บไซต์ของ <a href="http://sourceforge.net/forum/forum.php?thread_id=3137221&amp;forum_id=353124" target="_blank">sysbench</a> เอง มีการเปลี่ยนแปลงเวอร์ชั่นของ libtool ซึ่งเป็น library ที่ใช้ในการคอมไพล์โปรแกรม เวอร์ชั่นตั้งแต่ 0.4.11  ต้องรันคำสั่งด้านล่างนี้เพื่อแก้ไขปัญหา</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>libtoolize --force --copy
</strong>You should update your `aclocal.m4' by running aclocal.
Putting files in AC_CONFIG_AUX_DIR, `config'.</pre>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>./autogen.sh
</strong>[root@fc10-dev sysbench-0.4.12]#</pre>
<p>รันคำสั่ง make อีกครั้ง หลังจากรันคำสั่งแก้ไข</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>make</strong>
/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ./configure   --no-create --no-recursion
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to compile with MySQL support... (cached) yes
checking whether to compile with Oracle support... (cached) no
checking whether to compile with PostgreSQL support... (cached) no
checking for style of include used by make... GNU
checking for gcc... gcc
...
...
...
/bin/sh ../libtool --tag=CC   --mode=link gcc -pthread -g -O2      -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -rdynamic -L/usr/lib64/mysql -lmysqlclient_r -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto   -lrt -lm
mkdir .libs
gcc -pthread -g -O2 -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o -rdynamic  tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/oltp/libsboltp.a tests/mutex/libsbmutex.a drivers/mysql/libsbmysql.a -L/usr/lib64/mysql -lmysqlclient_r -lz -lcrypt -lnsl -L/usr/lib64 -lssl -lcrypto -lrt -lm
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12'
[root@fc10-dev sysbench-0.4.12]#</pre>
<p>ตรวจสอบอีกครั้งว่าไม่มี error ขึ้นมาอีก จากการันคำสั่ง make แล้วค่อยไปขั้นตอนต่อไป</p>
<h4>รัน make install</h4>
<p>ถ้ารัน make แล้ว ไม่มีข้อความ error แสดงว่าโปรแกรมคอมไพล์สำเร็จ สามารถใช้คำสั่ง make install เพื่อติดตั้งไฟล์ได้ โดยดีฟอลต์ โปรแกรมที่คอมไฟล์เองจะติดตั้งไฟล์ไว้ใน /usr/local/</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>make install
</strong>Making install in doc
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12/doc'
Making install in xsl
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
make[3]: Entering directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/doc/xsl'
...
...
...
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12/sysbench'
make[1]: Entering directory `/usr/local/src/sysbench-0.4.12'
make[2]: Entering directory `/usr/local/src/sysbench-0.4.12'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/usr/local/src/sysbench-0.4.12'
make[1]: Leaving directory `/usr/local/src/sysbench-0.4.12'
[root@fc10-dev sysbench-0.4.12]#</pre>
<p>ตรวจสอบโปรแกรม sysbench ที่ถูกติดตั้ง ไว้ใน /usr/local/bin/</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>ls -l /usr/local/bin/
</strong>total 308
-rwxr-xr-x 1 root root 307952 2009-05-16 17:20 sysbench
[root@fc10-dev sysbench-0.4.12]#</pre>
<h4>ทดลองรัน sysbench</h4>
<p>ทดลองรัน sysbench โดยไม่ได้ระบุออปชั่น ถ้าคอมไพล์และติดตั้งถูกต้อง หน้าจอจะขึ้นวิธีการใช้ (usage) ขึ้นมา</p>
<p><strong>หมายเหตุ </strong>โดยดีฟอลต์จากการติดตั้งลีนุกซ์ส่วนใหญ่แล้ว /usr/local/bin/ จะอยู่ใน PATH อยู่แล้ว ทำให้เราไม่ต้องระบุ PATH เต็มๆ เวลารันไฟล์ ที่อยู่ใน /usr/local/bin/</p>
<pre>[root@fc10-dev sysbench-0.4.12]# <strong>sysbench</strong>
Missing required command argument.
Usage:
  sysbench [general-options]... --test=&lt;test-name&gt; [test-options]... command</pre>
<pre>General options:
  --num-threads=N            number of threads to use [1]
  --max-requests=N           limit for total number of requests [10000]
  --max-time=N               limit for total execution time in seconds [0]
  --forced-shutdown=STRING   amount of time to wait after --max-time before forcing shutdown [off]
  --thread-stack-size=SIZE   size of stack per thread [32K]
  --init-rng=[on|off]        initialize random number generator [off]
  --test=STRING              test to run
  --debug=[on|off]           print more debugging info [off]
  --validate=[on|off]        perform validation checks where possible [off]
  --help=[on|off]            print help and exit
  --version=[on|off]         print version and exit</pre>
<pre>Compiled-in tests:
  fileio - File I/O test
  cpu - CPU performance test
  memory - Memory functions speed test
  threads - Threads subsystem performance test
  mutex - Mutex performance test
  oltp - OLTP test</pre>
<pre>Commands: prepare run cleanup help version</pre>
<pre>See 'sysbench --test=&lt;name&gt; help' for a list of options for each test.</pre>
<pre>[root@fc10-dev sysbench-0.4.12]#</pre>
<h4>ลบไฟล์ที่คอมไพล์ (optional)</h4>
<p>หลังจากคอมไพล์และติดตั้งลงโปรแกรมไว้ใน /usr/local/bin/ แล้ว เราสามารถลบไฟล์ที่คอมไพล์ออกไปได้ เพื่อประหยัดพื้นที่ดิสก์</p>
<pre>[root@fc10-dev sysbench-0.4.12]# cd ..
[root@fc10-dev src]# <strong>rm -rvf sysbench-0.4.12/ sysbench-0.4.12.tar.gz
</strong>removed `sysbench-0.4.12/configure'
removed `sysbench-0.4.12/Makefile.in'
removed `sysbench-0.4.12/TODO'
removed `sysbench-0.4.12/install-sh'
removed `sysbench-0.4.12/aclocal.m4'
removed `sysbench-0.4.12/Makefile'
removed `sysbench-0.4.12/README'
removed `sysbench-0.4.12/autogen.sh'
removed `sysbench-0.4.12/sysbench/sysbench.o'
removed directory: `sysbench-0.4.12/sysbench/.libs'
removed `sysbench-0.4.12/sysbench/db_driver.c'
removed `sysbench-0.4.12/sysbench/sb_win.h'
...
...
...
removed directory: `sysbench-0.4.12/config'
removed `sysbench-0.4.12/libtool'
removed `sysbench-0.4.12/config.log'
removed `sysbench-0.4.12/Makefile.am'
removed `sysbench-0.4.12/README-WIN.txt'
removed directory: `sysbench-0.4.12'
removed `sysbench-0.4.12.tar.gz'
[root@fc10-dev src]#  ls -l
total 0
[root@fc10-dev src]#</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://sysbench.sourceforge.net/" target="_blank">System performance benchmark</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=102348&amp;package_id=109810" target="_blank">Download sysbench &#8211; SourceForge.net: System performance benchmark: Files</a></li>
<li><a href="http://sourceforge.net/forum/forum.php?thread_id=3137221&amp;forum_id=353124" target="_blank">Problem with compile on Centos 4.6</a></li>
<li><a href="ftp://www.mirror.in.th./fedora/releases/10/Everything/x86_64/os/Packages/" target="_blank">FC10 Everything (x86_64)</a></li>
<li><a href="http://spalinux.com/2009/05/sysbench_cpu_benchmark">sysbench วัดความแรงของ CPU</a></li>
<li><a href="http://spalinux.com/2009/05/compile_sysbench_on_solaris_10_x86">คอมไพล์ sysbench บน Solaris 10 (x86)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/05/%e0%b8%84%e0%b8%ad%e0%b8%a1%e0%b9%84%e0%b8%9e%e0%b8%a5%e0%b9%8c-sysbench-%e0%b8%9a%e0%b8%99-fedora-10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>เปรียบเทียบ Intel Chipsets บนเมนบอร์ด</title>
		<link>http://spalinux.com/2009/05/compare_intel_chipsets_on_mainboard</link>
		<comments>http://spalinux.com/2009/05/compare_intel_chipsets_on_mainboard#comments</comments>
		<pubDate>Sun, 03 May 2009 11:09:28 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Intel Chipset]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=581</guid>
		<description><![CDATA[ ตอนนี้อยู่ในช่วงเลือกซื้อคอมพิวเตอร์เครื่องใหม่ทำเป็นเซิร์ฟเวอร์ เพื่อให้รองรับการทำงานได้มากขึ้น เพราะว่าตัวเก่าใช้มาหลายปีแล้ว เริ่มแสดงอาการช้าให้เห็นเป็นบางครั้ง สนใจเครื่องประกอบเอง เหตุเพราะงบประมาณจำกัด และอยากเลือกส่วนประกอบต่างๆ ได้เอง เลือกได้เกือบครบแล้ว ติดอยู่ตรงเมนบอร์ดว่าจะเลือกรุ่นไหนดี ราคาแตกต่างกันพอสมควร มีข้อแม้อย่างหนึ่งในใจคืออยากได้เมนบอร์ดที่ใช้ Intel Chipset แต่ก็มีหลายรุ่นอีก เลยต้องหาข้อมูลเปรียบเทียบว่าแต่ละ chipset แตกต่างกันอย่างไร หลังจากค้นหาข้อมูลบนอินเตอร์เน็ตอยู่พอสมควร ได้เว็บไซต์ของ Intel เอง แสดงการเปรียบเทียบค่อนข้างละเอียดเลยนำมาแนะนำเผื่อมีประโยชน์กับผู้สนใจ เว็บไซต์แสดงการเปรียบเทียบผลิตภัณฑ์ของ Intel Intel Product Comparison Charts   ในหน้านี้สามารถเลือกได้ว่าจะเปรียบเทียบผลิตภัณฑ์ประเภทไหน ถ้าต้องการเปรียบเทียบข้อมูลของ chipset สำหรับเครื่องประกอบที่มีขายกันทั่วไปตอนนี้ คลิ้กลิ้งค์ Performance/Mainstream Desktop Chipsets สามารถคลิ้กเลือก chipset ได้หลายรุ่นโดยกดปุ่ม [Ctrl] ค้างไว้ ในที่นี้จะเปรียบเทียบ P43, G43 และ G31 ซึ่งเป็น chipset ที่มีขายอยู่ตอนนี้  แล้วกดปุ่ม Compare ผลการเปรียบเทียบ Intel [...]]]></description>
			<content:encoded><![CDATA[<p> ตอนนี้อยู่ในช่วงเลือกซื้อคอมพิวเตอร์เครื่องใหม่ทำเป็นเซิร์ฟเวอร์ เพื่อให้รองรับการทำงานได้มากขึ้น เพราะว่าตัวเก่าใช้มาหลายปีแล้ว เริ่มแสดงอาการช้าให้เห็นเป็นบางครั้ง</p>
<p>สนใจเครื่องประกอบเอง เหตุเพราะงบประมาณจำกัด และอยากเลือกส่วนประกอบต่างๆ ได้เอง เลือกได้เกือบครบแล้ว ติดอยู่ตรงเมนบอร์ดว่าจะเลือกรุ่นไหนดี ราคาแตกต่างกันพอสมควร</p>
<p>มีข้อแม้อย่างหนึ่งในใจคืออยากได้เมนบอร์ดที่ใช้ Intel Chipset แต่ก็มีหลายรุ่นอีก เลยต้องหาข้อมูลเปรียบเทียบว่าแต่ละ chipset แตกต่างกันอย่างไร</p>
<p>หลังจากค้นหาข้อมูลบนอินเตอร์เน็ตอยู่พอสมควร ได้เว็บไซต์ของ Intel เอง แสดงการเปรียบเทียบค่อนข้างละเอียดเลยนำมาแนะนำเผื่อมีประโยชน์กับผู้สนใจ</p>
<p><span id="more-581"></span></p>
<p>เว็บไซต์แสดงการเปรียบเทียบผลิตภัณฑ์ของ Intel <a href="http://compare.intel.com/PCC/intro.aspx" target="_blank">Intel Product Comparison Charts</a></p>
<p><img class="alignnone size-full wp-image-582" title="Intel Product Comparison Charts" src="http://spalinux.com/wp-content/uploads/2009/05/01_intel_product_comparison_charts.png" alt="Intel Product Comparison Charts" width="819" height="537" /></p>
<p> </p>
<p>ในหน้านี้สามารถเลือกได้ว่าจะเปรียบเทียบผลิตภัณฑ์ประเภทไหน ถ้าต้องการเปรียบเทียบข้อมูลของ chipset สำหรับเครื่องประกอบที่มีขายกันทั่วไปตอนนี้ คลิ้กลิ้งค์ <a href="http://compare.intel.com/PCC/default.aspx?familyid=10&amp;culture=en-US" target="_blank">Performance/Mainstream Desktop Chipsets</a></p>
<p><img class="alignnone size-full wp-image-583" title="Performance Mainstream Desktop Chipsets Comparison Chart" src="http://spalinux.com/wp-content/uploads/2009/05/02_performance_mainstream_desktop_chipsets_comparison_chart.png" alt="Performance Mainstream Desktop Chipsets Comparison Chart" width="819" height="627" /><br />
สามารถคลิ้กเลือก chipset ได้หลายรุ่นโดยกดปุ่ม [Ctrl] ค้างไว้ ในที่นี้จะเปรียบเทียบ P43, G43 และ G31 ซึ่งเป็น chipset ที่มีขายอยู่ตอนนี้  แล้วกดปุ่ม Compare</p>
<p><a href="http://compare.intel.com/PCC/showchart.aspx?mmID=36521,36520,30686&amp;familyID=10&amp;culture=en-US" target="_blank">ผลการเปรียบเทียบ Intel Chipset P43, G43 และ G31</a> </p>
<p><img class="alignnone size-full wp-image-584" title="Compare Intel Chipset P43 G43 G31" src="http://spalinux.com/wp-content/uploads/2009/05/03_compare_intel_chipset_p43_g43_g31.png" alt="Compare Intel Chipset P43 G43 G31" width="819" height="780" /></p>
<p>จากผลการเปรียบเทียบพอได้ความแตกต่างของแต่ละ chipset เพื่อเป็นการตัดสินใจในการเลือกซื้อได้ดังนี้</p>
<p><strong>P43 Chipset<br />
</strong> - Max Memory:   16 GB<br />
 - FSB/Memory Configurations: 1333/DDR3-1066<br />
 - Integrated Graphics Type:  N/A</p>
<p><strong>G43 Chipset:<br />
</strong> - Max Memory:   8 GB<br />
 - FSB/Memory Configurations: 1333/DDR3-1066<br />
 - Intel Graphics Media Accelerator X4500</p>
<p><strong>G31 Chipset<br />
</strong> - Max Memory:   4 GB<br />
 - FSB/Memory Configurations: DDR2<br />
 - Integrated Graphics Type:  Intel Graphics Media Accelerator 3100</p>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/05/compare_intel_chipsets_on_mainboard/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>คอนฟิกพื้นฐานของ DD-WRT บน Linksys WRT54GL</title>
		<link>http://spalinux.com/2009/04/basic_dd-wrt_configuration_on_linksys_wrt54gl</link>
		<comments>http://spalinux.com/2009/04/basic_dd-wrt_configuration_on_linksys_wrt54gl#comments</comments>
		<pubDate>Sun, 19 Apr 2009 12:19:57 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[DD-WRT]]></category>
		<category><![CDATA[Linksys WRT54GL]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=534</guid>
		<description><![CDATA[บทความนี้ขอนำเสนอตัวอย่างคอนฟิกพื้นฐานของ Linksys WRT54GL หลังจากที่ติดตั้ง DD-WRT firmware ลงไปแล้ว โดยคอนฟิกให้สามารถใช้งาน Wireless มี encryption แบบ WPA และคอนฟิกให้พอร์ตแลนทั้ง 5 ซึ่งประกอบด้วย LAN 1-4 และ Internet อีกพอร์ตอยู่ในเน็ตเวิร์ก (VLAN) เดียวกันกับ Wireless ซึ่งเป็นรูปแบบคอนฟิกที่นิยมใช้กันโดยทั่วไป คอนฟิกทั้งหมดสามารถทำผ่านหน้าเว็บ หลังจากแก้ไขในแต่ละหน้า ให้กดปุ่ม [ Save ] และ [ Apply Settings ] Setup &#8211; Basic Setup ตัวอย่างหน้าเว็บคอนฟิก Basic Setup เปลี่ยน WAN (Internet Port) ให้เป็นพอร์ตธรรมดา WAN Connection Type  - Connection Type: Disabled [...]]]></description>
			<content:encoded><![CDATA[<p>บทความนี้ขอนำเสนอตัวอย่างคอนฟิกพื้นฐานของ Linksys WRT54GL หลังจากที่ติดตั้ง DD-WRT firmware ลงไปแล้ว โดยคอนฟิกให้สามารถใช้งาน Wireless มี encryption แบบ WPA และคอนฟิกให้พอร์ตแลนทั้ง 5 ซึ่งประกอบด้วย LAN 1-4 และ Internet อีกพอร์ตอยู่ในเน็ตเวิร์ก (VLAN) เดียวกันกับ Wireless ซึ่งเป็นรูปแบบคอนฟิกที่นิยมใช้กันโดยทั่วไป</p>
<p><span id="more-534"></span></p>
<p>คอนฟิกทั้งหมดสามารถทำผ่านหน้าเว็บ หลังจากแก้ไขในแต่ละหน้า ให้กดปุ่ม <strong>[ Save ]</strong> และ <strong>[ Apply Settings ]</strong></p>
<h4>Setup &#8211; Basic Setup</h4>
<p>ตัวอย่างหน้าเว็บคอนฟิก Basic Setup</p>
<p><img class="alignnone size-full wp-image-535" title="DD-WRT Basic Setup" src="http://spalinux.com/wp-content/uploads/2009/04/01-setup_basic_setup.png" alt="DD-WRT Basic Setup" width="890" height="768" /></p>
<p>เปลี่ยน WAN (Internet Port) ให้เป็นพอร์ตธรรมดา</p>
<pre><strong>WAN Connection Type
</strong> - Connection Type: Disabled
 - STP: Disable</pre>
<p>ใส่ IP Address ของอุปกรณ์</p>
<pre><strong>Router IP:</strong>
 - Local IP Address:
 - Subnet mask:
 - Gateway:</pre>
<p>คอนฟิก WAN (Internet Port) ให้อยู่เน็ตเวิร์ก (VLAN) เดียวกันกับ LAN 1-4</p>
<pre><strong>WAN Port:</strong>
 - Assign WAN Port to Switch [x]</pre>
<p>คอนฟิกเกี่ยวกับ DHCP</p>
<pre><strong>Network Address Server Settings (DHCP)
</strong> - DHCP Type: DHCP Server
 - DHCP Server: [x] Enable, [ ] Disable</pre>
<p>คอนฟิกเกี่ยวกับ NTP</p>
<pre><strong>Time Settings:</strong>
 - NTP Client [x] Enable  [ ] Disable
 - Time Zone: UTC+07:00
 - Summer Time (DST): none
 - Server IP/Name: 192.168.1.100</pre>
<h4>Wireless &#8211; Basic Settings</h4>
<p>ตัวอย่างหน้าเว็บคอนฟิก Wireless Basic Settings</p>
<p><img class="alignnone size-full wp-image-536" title="DD-WRT Wireless basic settings" src="http://spalinux.com/wp-content/uploads/2009/04/02-wireless_basic_settings.png" alt="DD-WRT Wireless basic settings" width="890" height="768" /></p>
<p>คอนฟิก Wireless SSID</p>
<pre><strong>Physical Interface wl0</strong>
 - Wireless Mode:   AP
 - Wireless Network Mode: Mixed
 - Wireless Network Name (SSID):  xxx
 - Wireless Channel: Auto
 - Wireless SSID Broadcast:  [ ] Enable   [x] Disable
 - Network Configuration:  [ ] Unbridged    [x] Bridged</pre>
<h4>Wireless &#8211; Wireless Security</h4>
<p>คอนฟิก Wireless Security เป็นแบบ WPA Personal ใส่ค่า Shared Key ที่ต้องการ</p>
<pre><strong>Physical Interface wl0</strong>
 - Security Mode: WPA Personal
 - WPA Algorithms: TKIP
 - WPA Shared Key:  xxx</pre>
<h4>Wireless &#8211; Advanced Settings</h4>
<p>ข้อดีอย่างหนึ่งเมื่อรัน DD-WRT firmware เราสามารถปรับเปลี่ยนความแรงของสัญญาณ Wireless  (TX Power) ได้ ค่ามากคือสัญญาณแรงขึ้น สามารถใช้งานได้ไกลขึ้น</p>
<p>คำเตือน การปรับค่า TX Power มากเกินไป ทำให้อายุการใช้งานอุปกรณ์สั้นลง</p>
<pre>Advanced Settings
 - TX Power: (Default: 70, Range: 0-251mW)</pre>
<h4>Administration: Management</h4>
<p>แนะนำให้เปลี่ยนค่า Username, Password</p>
<pre><strong>Router Password</strong>
 - Router Username:
 - Router Password:
 - Re-enter to confirm:</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2009/04/install_dd-wrt_firmware_on_linksys_wrt54gl" target="_self">ติดตั้ง DD-WRT firmware บน Linksys WRT54GL</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/04/basic_dd-wrt_configuration_on_linksys_wrt54gl/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ติดตั้ง DD-WRT firmware บน Linksys WRT54GL</title>
		<link>http://spalinux.com/2009/04/install_dd-wrt_firmware_on_linksys_wrt54gl</link>
		<comments>http://spalinux.com/2009/04/install_dd-wrt_firmware_on_linksys_wrt54gl#comments</comments>
		<pubDate>Sat, 18 Apr 2009 10:17:21 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux Installation]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[DD-WRT]]></category>
		<category><![CDATA[Linksys WRT54GL]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=513</guid>
		<description><![CDATA[นอกจากลีนุกซ์จะสามารถติดตั้งบนเครื่องคอมพิวเตอร์ได้แล้ว ยังสามารถนำไปติดตั้งลงบนอุปกรณ์อื่นๆ ได้อีกด้วยซึ่งจะมีกระบวนการติดตั้งที่ต่างกันออกไป ในบทความนี้จะกล่าวถึงการติดตั้ง DD-WRT ซึ่งเป็น Linux-based firmware ของอุปกรณ์ประเภท Wireless AP หรือ Router เพื่อเพิ่มประสิทธิภาพการทำงาน และมีคุณสมบัติอื่นๆ มากกว่าที่มีใน firmware ที่ติดตั้งมาพร้อมกับอุปกรณ์ ในบทความนี้จะทดสอบการติดตั้ง DD-WRT บนอุปกรณ์ Linksys Wireless-G Broadband Router รุ่น WRT54GL v1.1 ซึ่งถือว่าเป็นรุ่นยอดนิยมและราคาไม่แพง และมีขั้นตอนการติดตั้งง่าย สามารถเช็ครายชื่ออุปกรณ์ที่สามารถติดตั้ง DD-WRT ได้ที่ Supported Devices &#8211; DD-WRT Wiki วิธีการติดตั้ง เครื่องคอมพิวเตอร์ต่อสาย LAN พอร์ต 1-4 (ไม่ใช่ Internet Port) ของ Linksys WRT54GL ใช้ Browser ในการ upgrade ข้อควรระวัง ระวังไฟดับระหว่างการติดตั้ง [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">นอกจากลีนุกซ์จะสามารถติดตั้งบนเครื่องคอมพิวเตอร์ได้แล้ว ยังสามารถนำไปติดตั้งลงบนอุปกรณ์อื่นๆ ได้อีกด้วยซึ่งจะมีกระบวนการติดตั้งที่ต่างกันออกไป ในบทความนี้จะกล่าวถึงการติดตั้ง DD-WRT ซึ่งเป็น Linux-based firmware ของอุปกรณ์ประเภท Wireless AP หรือ Router เพื่อเพิ่มประสิทธิภาพการทำงาน และมีคุณสมบัติอื่นๆ มากกว่าที่มีใน firmware ที่ติดตั้งมาพร้อมกับอุปกรณ์</div>
<p>ในบทความนี้จะทดสอบการติดตั้ง DD-WRT บนอุปกรณ์ Linksys Wireless-G Broadband Router รุ่น WRT54GL v1.1 ซึ่งถือว่าเป็นรุ่นยอดนิยมและราคาไม่แพง และมีขั้นตอนการติดตั้งง่าย</p>
<p><span id="more-513"></span></p>
<p>สามารถเช็ครายชื่ออุปกรณ์ที่สามารถติดตั้ง DD-WRT ได้ที่ <a href="http://www.dd-wrt.com/wiki/index.php/Supported_Devices" target="_blank">Supported Devices &#8211; DD-WRT Wiki</a></p>
<h4>วิธีการติดตั้ง</h4>
<ul>
<li>เครื่องคอมพิวเตอร์ต่อสาย LAN พอร์ต 1-4 (ไม่ใช่ Internet Port) ของ Linksys WRT54GL</li>
<li>ใช้ Browser ในการ upgrade</li>
</ul>
<p><strong>ข้อควรระวัง</strong> ระวังไฟดับระหว่างการติดตั้ง</p>
<p>ขั้นตอนการติดตั้ง DD-WRT บน Linksys WRT54GL ที่มี firmware ดั้งเดิมของ Linksys เอง จะมีดังต่อไปนี้</p>
<h4>1. ดาวน์โหลด DD-WRT firmware</h4>
<p>บนเว็บไซต์จะมี firmware ที่ให้ดาวน์โหลดนั้นหลายเวอร์ชั่น แต่ละเวอร์ชั่นยังแบ่งแยกตามรุ่นของอุปกรณ์และคุณสมบัติที่ firmware แต่ละตัวมี สามารถดูรายละเอียดได้จาก <a href="http://www.dd-wrt.com/wiki/index.php/What_is_DD-WRT%3F" target="_blank">What is DD-WRT?</a></p>
<p>เวอร์ชั่นที่เป็นทางการ (Official) ล่าสุดคือ v24-sp1 แต่เนื่องด้วยปัญหาต่างๆ ที่เกิดขึ้นเมื่อใช้เวอร์ชั่นนี้  แนะนำให้ดาวน์โหลดเวอร์ชั่น SVN build ล่าสุด โดยจะมีตัวเลขกำกับ เช่น svn11296, svn11461&#8230;</p>
<p>สามารถดูรายละเอียดของปัญหาได้ที่ <a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?t=39529" target="_blank">The Peacock Thread:If dd-wrt isn&#8217;t working well, read this!</a></p>
<p>ดาวน์โหลด SVN build ล่าสุดได้ที่ <a href="ftp://dd-wrt.com/others/eko/V24_TNG/">ftp://dd-wrt.com/others/eko/V24_TNG/</a></p>
<p>ณ ตอนที่เขียนบทความนี้ เวอร์ชั่น SVN build ล่าสุดคือ svn11886</p>
<p>สำหรับ Linksys WRT54GL ไฟล์ firmware ที่ต้องใช้ในการติดตั้งมีสองไฟล์คือ</p>
<p><a href="ftp://dd-wrt.com/others/eko/V24_TNG/svn11886/dd-wrt.v24-11886_NEWD_mini.bin">ftp://dd-wrt.com/others/eko/V24_TNG/svn11886/dd-wrt.v24-11886_NEWD_mini.bin</a><br />
<a href="ftp://dd-wrt.com/others/eko/V24_TNG/svn11886/dd-wrt.v24-11886_NEWD_std.bin">ftp://dd-wrt.com/others/eko/V24_TNG/svn11886/dd-wrt.v24-11886_NEWD_std.bin</a></p>
<h4>2. Hard Reset 30/30/30 อุปกรณ์</h4>
<p>เพื่อป้องกันปัญหาที่เกิดขึ้น ก่อนและหลังการติดตั้งหรือ upgrade แนะนำให้ ทำการ Hard Reset เพื่อเคลียร์ NVRAM ของอุปกรณ์ ก่อนโดยมีขั้นตอนดังนี้</p>
<p>เปิดอุปกรณ์ไว้ซักพัก จนกว่าอุปกรณ์ใช้งานได้ตามปกติ</p>
<ul>
<li>ในระหว่างที่อุปกรณ์เปิดอยู่ กดปุ่ม reset ค้างไว้ 30 วินาที</li>
<li>ดึงสายหม้อแปลง power ออก โดยที่ยังกดปุ่ม reset ค้างไว้อีก 30 วินาที</li>
<li>ต่อสายหม้อแปลง power กลับ โดยที่ยังกดปุ่ม reset ค้างไว้อีก 30 วินาที แล้วปล่อย</li>
</ul>
<p>สรุปแล้วต้องกดปุ่ม reset ค้างไว้ทั้งหมด 90 วินาที โดยไม่ปล่อยเลย</p>
<p>สามารถดูรายละเอียดของการ Hard reset ได้ที่ <a href="http://www.dd-wrt.com/wiki/index.php/Hard_reset_or_30/30/30" target="_blank">Hard reset or 30/30/30 &#8211; DD-WRT Wiki</a></p>
<h4>3. ติดตั้ง mini firmware</h4>
<p>หลังจากที่ Hard reset อุปกรณ์จะเปลี่ยนคอนฟิกกลับไปเป็นดีฟอลต์คือมี ip 192.168.1.1 ใช้ Browser เปิดเข้าไปแล้ว login เป็น admin รหัสเป็น admin</p>
<p><img class="alignnone size-full wp-image-519" title="01-original_linksys_firmware1" src="http://spalinux.com/wp-content/uploads/2009/04/01-original_linksys_firmware1.png" alt="01-original_linksys_firmware1" width="891" height="641" /></p>
<p> </p>
<p>ไปที่หน้า <strong>Administration -&gt; Firmware Upgrade</strong> กดปุ่ม Browse เพื่อเลือกไฟล์ firmware ที่จะติดตั้งลงไปใหม่</p>
<p>ขั้นแรกต้องเลือกไฟล์ mini firmware ที่ดาวน์โหลดมาก่อน ชื่อไฟล์ dd-wrt.v24-11886_NEWD_mini.bin</p>
<p><img class="alignnone size-full wp-image-520" title="02-upgrade_to_dd-wrt_mini_firmware" src="http://spalinux.com/wp-content/uploads/2009/04/02-upgrade_to_dd-wrt_mini_firmware.png" alt="02-upgrade_to_dd-wrt_mini_firmware" width="891" height="641" /></p>
<p>เมื่อโหลดเสร็จหน้าเว็บจะขึ้นข้อความ &#8220;Upgrade is successful.&#8221;</p>
<p><img class="alignnone size-full wp-image-521" title="03-mini_upgrade_is_successful" src="http://spalinux.com/wp-content/uploads/2009/04/03-mini_upgrade_is_successful.png" alt="03-mini_upgrade_is_successful" width="891" height="641" /></p>
<p> </p>
<p>จะมีหน้าจอให้ login ใหม่อีกครั้ง ตอนนี้ต้องใส่ User name เป็น root รหัสผ่าน (Password) เป็น admin</p>
<p>หลังจาก login จะขึ้นหน้าเว็บของ DD-WRT control panel โดยดูเวอร์ชั่นของ firmware ที่รันอยู่ได้ที่มุมขวาบนของหน้าเว็บ</p>
<p><img class="alignnone size-full wp-image-522" title="04-dd-wrt_mini_system_information" src="http://spalinux.com/wp-content/uploads/2009/04/04-dd-wrt_mini_system_information.png" alt="04-dd-wrt_mini_system_information" width="890" height="689" /></p>
<p> </p>
<h4>4. ติดตั้ง std firmware</h4>
<p>ด้วยคุณสมบัติที่มีมากกว่า mini แนะนำปรับปรุง firmware อีกครั้งให้ใช้เป็น std firmware ไปที่หน้า <strong>Administration -&gt; Firmware Upgrade</strong> กดปุ่ม Browse เพื่อเลือกไฟล์ firmware ที่จะติดตั้งลงไปใหม่ ตอนนี้ต้องเลือกไฟล์ std firmware ที่ดาวน์โหลดมาก่อน ชื่อไฟล์ dd-wrt.v24-11886_NEWD_std.bin แล้วกดปุ่ม Upgrade</p>
<p><img class="alignnone size-full wp-image-523" title="05-upgrade_to_dd-wrt_std_firmware" src="http://spalinux.com/wp-content/uploads/2009/04/05-upgrade_to_dd-wrt_std_firmware.png" alt="05-upgrade_to_dd-wrt_std_firmware" width="890" height="689" /></p>
<p> </p>
<p>หน้าจอจะขึ้นแสดงว่ากำลัง upgrade อยู่ ไม่ต้องทำอะไรบนหน้าเว็บทั้งสิ้น รอจนกว่าเสร็จ หน้าเว็บจะ refreshให้เอง อัตโนมัติ</p>
<p>หน้าเว็บแสดงว่า Upgrading firmware&#8230;</p>
<p><img class="alignnone size-full wp-image-524" title="06-upgrading_std_firmware" src="http://spalinux.com/wp-content/uploads/2009/04/06-upgrading_std_firmware.png" alt="06-upgrading_std_firmware" width="890" height="689" /></p>
<p> </p>
<p>หน้าเว็บแสดงว่าติดตั้ง firmware แล้วเสร็จกำลัง reboot อุปกรณ์</p>
<p><img class="alignnone size-full wp-image-525" title="07-std_upgrade_successful" src="http://spalinux.com/wp-content/uploads/2009/04/07-std_upgrade_successful.png" alt="07-std_upgrade_successful" width="890" height="689" /></p>
<p> </p>
<p>หลังจาก reboot เสร็จ จะขึ้นหน้าเว็บให้เปลี่ยน Username, Password ใหม่</p>
<p><img class="alignnone size-full wp-image-526" title="08-change_username_password" src="http://spalinux.com/wp-content/uploads/2009/04/08-change_username_password.png" alt="08-change_username_password" width="890" height="689" /></p>
<p>หน้าเว็บหลังจากติดตั้ง แสดงสถานะของอุปกรณ์กำลังรัน std firmware</p>
<p><img class="alignnone size-full wp-image-527" title="09-dd-wrt_std_system_information" src="http://spalinux.com/wp-content/uploads/2009/04/09-dd-wrt_std_system_information.png" alt="09-dd-wrt_std_system_information" width="890" height="689" /></p>
<p> </p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2009/04/basic_dd-wrt_configuration_on_linksys_wrt54gl">คอนฟิกพื้นฐานของ DD-WRT บน Linksys WRT54GL</a></li>
<li><a href="http://www.dd-wrt.com/wiki/index.php/What_is_DD-WRT%3F" target="_blank">What is DD-WRT?</a></li>
<li><a href="http://www.dd-wrt.com/wiki/index.php/Supported_Devices" target="_blank">Supported Devices &#8211; DD-WRT Wiki</a></li>
<li><a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?t=39529" target="_blank">The Peacock Thread:If dd-wrt isn&#8217;t working well, read this!</a></li>
<li><a href="http://www.dd-wrt.com/wiki/index.php/Hard_reset_or_30/30/30" target="_blank">Hard reset or 30/30/30 &#8211; DD-WRT Wiki</a></li>
<li><a href="http://www.dd-wrt.com/wiki/index.php/Installation" target="_blank">Installation &#8211; DD-WRT Wiki</a></li>
<li><a href="ftp://dd-wrt.com/others/eko/V24_TNG/" target="_blank">Download SVN build</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/04/install_dd-wrt_firmware_on_linksys_wrt54gl/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
