<?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>icez network &#187; load balance</title>
	<atom:link href="http://www.icez.net/blog/tags/load-balance/feed" rel="self" type="application/rss+xml" />
	<link>http://www.icez.net/blog</link>
	<description>Technical Blog by icez network</description>
	<lastBuildDate>Mon, 30 Jan 2012 17:31:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>0014 &#124; MySQL Replicate</title>
		<link>http://www.icez.net/blog/18/mysql-replicate</link>
		<comments>http://www.icez.net/blog/18/mysql-replicate#comments</comments>
		<pubDate>Wed, 14 May 2008 06:40:31 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[load balance]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[postmunlife]]></category>
		<category><![CDATA[replicate]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=18</guid>
		<description><![CDATA[* บทความนี้อ้างอิงและประยุกต์มาจากเว็บไซต์ต่อไปนี้ DNSThailand.com &#8211; เทคนิคการใช้ Replication ระดับสูงใน MySQL CATTelecom.com &#8211; กิตติชน แม้นสมุทร [ejeepss] » Replicate MySQL 5.x สืบเนื่องจาก entry ที่แล้ว ก็เลยลองไปค้นๆ ข้อมูลเพิ่มเติมดูอีกหน่อยว่าเราลืมอะไรไปบ้าง เพราะนึกได้ว่ายังไม่ได้ลองทำ MySQL Replicate เลย (ฮาๆ) ประเด็นคือไม่รู้ว่ามันช้าที่ฐานข้อมูลรึเปล่า เพราะ debug ไม่เจอสาเหตุ ก็เลยต้องลองทำเท่าที่ทำได้ไปก่อน ขั้นต้นก็ต้องมี server 2 เครื่องขึ้นไปครับ โดยสมมติเครื่องแรก ชื่อ web-slave เครื่องที่สอง ชื่อ db-master ก่อนอื่นมาที่เครื่อง web-slave สั่งติดตั้ง mysql server ตามนี้ครับ * อ้างอิง Fedora 8 ครอบคลุม Fedora 4 [...]]]></description>
			<content:encoded><![CDATA[<p>* บทความนี้อ้างอิงและประยุกต์มาจากเว็บไซต์ต่อไปนี้<br />
DNSThailand.com &#8211;  				<a href="http://www.dnsthailand.net/index.php?option=com_content&amp;task=view&amp;id=105&amp;Itemid=36">เทคนิคการใช้ Replication ระดับสูงใน MySQL</a><br />
CATTelecom.com &#8211; <a href="http://catadmin.cattelecom.com/km/blog/kittichonm/category/step-by-step/replicate-mysql-5x/" target="_blank">กิตติชน แม้นสมุทร [ejeepss] » Replicate MySQL 5.x</a></p>
<p>สืบเนื่องจาก entry ที่แล้ว<br />
ก็เลยลองไปค้นๆ ข้อมูลเพิ่มเติมดูอีกหน่อยว่าเราลืมอะไรไปบ้าง<br />
เพราะนึกได้ว่ายังไม่ได้ลองทำ MySQL Replicate เลย (ฮาๆ)<br />
ประเด็นคือไม่รู้ว่ามันช้าที่ฐานข้อมูลรึเปล่า เพราะ debug ไม่เจอสาเหตุ<br />
ก็เลยต้องลองทำเท่าที่ทำได้ไปก่อน</p>
<p>ขั้นต้นก็ต้องมี server 2 เครื่องขึ้นไปครับ<br />
โดยสมมติเครื่องแรก ชื่อ web-slave<br />
เครื่องที่สอง ชื่อ db-master</p>
<p>ก่อนอื่นมาที่เครื่อง web-slave สั่งติดตั้ง mysql server ตามนี้ครับ<br />
* อ้างอิง Fedora 8 ครอบคลุม Fedora 4 &#8211; 9, CentOS 5.x รวมถึงสาย Redhat ทั้งหมดครับ</p>
<blockquote><p># yum install mysql-server</p></blockquote>
<p>เสร็จแล้วเปิดแฟ้ม /etc/my.cnf เพิ่มเติมข้อมูลต่อไปนี้ครับ</p>
<blockquote><p>server-id=2<br />
master-host=<span style="color: #<a href="http://search.twitter.com/search?q=%230000ff" rel="nofollow" target="_blank" title="Search Twitter for &quot;0000ff&quot;">0000ff</a>;">10.0.0.2</span><br />
master-port=3306<br />
master-user=<span style="color: #<a href="http://search.twitter.com/search?q=%23ff0000" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff0000&quot;">ff0000</a>;">replicate</span><br />
master-password=<span style="color: #<a href="http://search.twitter.com/search?q=%23ff0000" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff0000&quot;">ff0000</a>;">slavepassword</span><br />
master-connect-retry=30<br />
replicate-wild-do-table= %.%<br />
report-host=<span style="color: #<a href="http://search.twitter.com/search?q=%23008000" rel="nofollow" target="_blank" title="Search Twitter for &quot;008000&quot;">008000</a>;">10.0.0.1</span></p></blockquote>
<p>(มันมาอีกละ สีฟ้าแดงเขียวนี่)<br />
แก้ ip อะไรพวกนี้ให้ถูกนะครับ แล้วแก้ตัวแดงๆ ด้วย ตามที่ตั้งค่า</p>
<p>เครื่องนี้เสร็จและ กลับไปที่เครื่อง db-master ต่อ ก่อนอื่นต้องตั้งค่า username / password ก่อนครับ<br />
โดยเข้าไปใน mysql query console (หรือที่ไหนก็ได้ที่สามารถตั้ง user ได้) แล้วรัน query ต่อไปนี้</p>
<blockquote><p>mysql&gt; GRANT REPLICATION SLAVE ON *.*<br />
TO &#8216;<span style="color: #<a href="http://search.twitter.com/search?q=%23ff0000" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff0000&quot;">ff0000</a>;">replicate</span>&#8216;@&#8217;<span style="color: #<a href="http://search.twitter.com/search?q=%23008000" rel="nofollow" target="_blank" title="Search Twitter for &quot;008000&quot;">008000</a>;">10.0.0.1</span>&#8216; IDENTIFIED BY &#8216;<span style="color: #<a href="http://search.twitter.com/search?q=%23ff0000" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff0000&quot;">ff0000</a>;">slavepassword</span>&#8216;;</p></blockquote>
<p>เสร็จแล้วออกมาสั่ง stop service mysql ได้เลยครับ แล้วก็แก้แฟ้ม /etc/my.cnf อีกนิดหน่อย ตามนี้ครับ</p>
<blockquote><p>log-bin=<span style="color: #<a href="http://search.twitter.com/search?q=%23ff00ff" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff00ff&quot;">ff00ff</a>;">mysql-bin</span><br />
server-id=1<br />
innodb_flush_log_at_trx_commit=1<br />
sync_binlog=1<br />
expire_logs_days=<span style="color: #<a href="http://search.twitter.com/search?q=%23ff00ff" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff00ff&quot;">ff00ff</a>;">3</span><br />
max_binlog_size=<span style="color: #<a href="http://search.twitter.com/search?q=%23ff00ff" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff00ff&quot;">ff00ff</a>;">50M</span></p></blockquote>
<p>ตรงนี้ปรับค่าตามความเหมาะสมนะครับ แล้วแต่ว่าจะเก็บ log กี่วันยังไง<br />
โดยบรรทัดแรกสุดจะเป็น path + ชื่อแฟ้มที่ใช้เก็บ log (สามารถใส่ full path ได้ครับ เช่น /var/log/mysqld/binlog)<br />
แล้วก็ย้ำว่าควรจะใส่ option สองบรรทัดด้านล่าง เพื่อป้องกัน hdd เต็ม (ฮา)<br />
เคยเจอมาแล้วครับ เก็บ log เพลินไปหน่อย เศร้าเลย</p>
<p>ต่อจากนี้ก็ copy ข้อมูลจาก db-master ไปยังเครื่อง web-slave ครับ<br />
ถ้าใน fedora/centos default install ก็อยู่ใน /var/lib/mysql<br />
สั่ง tar ไปทั้ง folder เลยก็ยังไหวครับ (แต่ข้อแม้คือต้องเป็น mysql version เดียวกันนะ)</p>
<p>จากนั้นก็สั่ง service mysqld start ทั้งสองเครื่อง<br />
แล้ว connect เข้า mysql ของเครื่อง db-master สั่ง query ต่อไปนี้ครับ</p>
<blockquote><p>mysql&gt; FLUSH TABLES WITH READ LOCK;</p></blockquote>
<p>แล้วก็ connect เข้า mysql ของเครื่อง web-slave สั่ง query ต่อไปนี้ครับ</p>
<blockquote><p>mysql&gt; START SLAVE;</p></blockquote>
<p>เท่านี้ก็เรียบร้อย ทีนี้ก็รอดูผลงาน&#8230; ถ้าเวิร์กจะเอาไปใส่เว็บ bitthai ด้วย (ฮาๆ)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/18/mysql-replicate/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>0013 &#124; เว็บโหด โคตรสยอง</title>
		<link>http://www.icez.net/blog/17/%e0%b9%80%e0%b8%a7%e0%b9%87%e0%b8%9a%e0%b9%82%e0%b8%ab%e0%b8%94-%e0%b9%82%e0%b8%84%e0%b8%95%e0%b8%a3%e0%b8%aa%e0%b8%a2%e0%b8%ad%e0%b8%87</link>
		<comments>http://www.icez.net/blog/17/%e0%b9%80%e0%b8%a7%e0%b9%87%e0%b8%9a%e0%b9%82%e0%b8%ab%e0%b8%94-%e0%b9%82%e0%b8%84%e0%b8%95%e0%b8%a3%e0%b8%aa%e0%b8%a2%e0%b8%ad%e0%b8%87#comments</comments>
		<pubDate>Tue, 13 May 2008 20:49:23 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Web Server]]></category>
		<category><![CDATA[load balance]]></category>
		<category><![CDATA[nfs]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[postmunlife]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=17</guid>
		<description><![CDATA[เมื่อวานงานเข้าครับ ติดตั้งระบบใหม่ทั้งเครื่อง เว็บบอร์ดใต้ดินแห่งหนึ่ง เนื่องด้วยคนเข้าเยอะชิบหาย แถมเป็นเว็บบอร์ด SMF ซะด้วย โจทย์มีมาให้ค่อนข้าง&#8230; เอ่อ&#8230; ระดับนึงละครับ server 2 เครื่อง เครื่องแรก Core 2 Duo E6600 / RAM 3 GB เครื่องที่สอง Core 2 Quad Q6xxx อะไรซักอย่าง จำรุ่นไม่ได้ / RAM 3GB จะบอกว่ามันใช้งานหนักเอามากๆ งานนี้ก็เลยต้องทดลองมันสารพัดวิธีเลยครับ เริ่มจาก level แรกสุด apache + squid reverse proxy ไม่ผ่านเลยครับ (load avg 50.xx) level ที่สอง เพิ่ม DNS Round Robin เข้าช่วย เอาเครื่อง DB [...]]]></description>
			<content:encoded><![CDATA[<p>เมื่อวานงานเข้าครับ<br />
ติดตั้งระบบใหม่ทั้งเครื่อง เว็บบอร์ดใต้ดินแห่งหนึ่ง<br />
เนื่องด้วยคนเข้าเยอะชิบหาย แถมเป็นเว็บบอร์ด SMF ซะด้วย</p>
<p>โจทย์มีมาให้ค่อนข้าง&#8230; เอ่อ&#8230; ระดับนึงละครับ<br />
server 2 เครื่อง เครื่องแรก Core 2 Duo E6600 / RAM 3 GB<br />
เครื่องที่สอง Core 2 Quad Q6xxx อะไรซักอย่าง จำรุ่นไม่ได้ / RAM 3GB</p>
<p>จะบอกว่ามันใช้งานหนักเอามากๆ<br />
งานนี้ก็เลยต้องทดลองมันสารพัดวิธีเลยครับ</p>
<p>เริ่มจาก level แรกสุด apache + squid reverse proxy ไม่ผ่านเลยครับ (load avg 50.xx)<br />
level ที่สอง เพิ่ม DNS Round Robin เข้าช่วย เอาเครื่อง DB มาช่วยรันเว็บด้วย ก็ยังไม่ผ่าน แต่ดีขึ้นหน่อยนึง (load เหลือ 30.xx)<br />
level ที่สาม ลง memcache ช่วยระบบ session + SMF memcache ก็ไม่ผ่านอยู่ดี แต่ดีขึ้นใช้ได้ (load เหลือ ~25.xx)</p>
<p>level สุดท้าย เลิกใช้ apache ลบ squid ทิ้ง แล้วลง lighttpd 1.4 + mod fastcgi แทน<br />
load average ลดลงมาเหลือประมาณ 5-6 แต่ page generation time ก็ยังไม่ค่อยจะน่าพอใจ<br />
แบบว่าหน้า index พี่ซัดไป 300 KB เยอะโคดเลย</p>
<p>งานนี้ขอเวลาไปสัปดาห์นึง ต้องนั่งเฝ้าอีก เห้อ&#8230; ไหนจะงานรับน้องด้วย งิดๆๆๆ</p>
<p>เพิ่มเติมทางเทคนิค:</p>
<p>NFS service บน Fedora 7 เป็นต้นมา มีการเปลี่ยนแปลงชื่อ service นิดๆ หน่อยๆ<br />
ทำเอางงกันใช้ได้ (ฮาๆ) ตามรายการต่อไปนี้ครับ</p>
<ul>
<li>nfs ยังคงสภาพเดิม คำสั่งเดิมได้เลย</li>
<li>portmap เปลี่ยนชื่อไปเป็น rpcbind</li>
<li>เพิ่มเติม service nfslock ไว้ทำ nfs remote lock เวลาต้องการ lock access file ต่างๆ</li>
</ul>
<p>ขั้นตอนการติดตั้ง nfs บน Fedora 8 ง่ายมากจนน่าตกใจ ดังนี้ครับ</p>
<blockquote><p># yum install nfs-utils</p></blockquote>
<p>จบเลย คำสั่งเดียวสั้นๆ ง่ายๆ เลย<br />
เสร็จแล้วก็ตั้งค่าให้รันตั้งแต่เริ่มเปิดเครื่อง (สำหรับเครื่อง nfs server เท่านั้น)</p>
<blockquote><p># chkconfig nfs on<br />
# chkconfig nfslock on<br />
# chkconfig rpcbind on</p></blockquote>
<p>แล้วแก้แฟ้ม /etc/exports ตามคู่มือ (รายละเอียดค่อนข้างเยอะ ไว้ค่อยสาธยาย ง่วงมาก)<br />
พร้อมด้วยการแก้ /etc/hosts.allow เพื่อเพิ่มความปลอดภัยให้แก่ nfs server<br />
แก้เสร็จแล้วก็สั่ง start service ทั้งสามตัวได้เลย ตามลำดับต่อไปนี้</p>
<blockquote><p># service rpcbind start<br />
# service nfs start<br />
# service nfslock start</p></blockquote>
<p>จากนั้นไปที่เครื่อง client ที่จะ mount nfs partition แล้วทดลองสั่งค้นหา partition ที่อนุญาตให้ mount ดู ตามนี้</p>
<blockquote><p># showmount -e <span style="color: #<a href="http://search.twitter.com/search?q=%23ff6600" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff6600&quot;">ff6600</a>;">10.0.0.1</span></p></blockquote>
<p>* กรุณาแก้ IP เป็น IP ของเครื่อง nfs server ของท่านครับ พอ list ได้ที่แล้วก็สั่ง mount ได้เลย</p>
<blockquote><p># mount <span style="color: #<a href="http://search.twitter.com/search?q=%23ff0000" rel="nofollow" target="_blank" title="Search Twitter for &quot;ff0000&quot;">ff0000</a>;">10.0.0.1</span>:<span style="color: #<a href="http://search.twitter.com/search?q=%23339966" rel="nofollow" target="_blank" title="Search Twitter for &quot;339966&quot;">339966</a>;">/path/to/exports</span> <span style="color: #<a href="http://search.twitter.com/search?q=%230000ff" rel="nofollow" target="_blank" title="Search Twitter for &quot;0000ff&quot;">0000ff</a>;">/path/to/exports</span></p></blockquote>
<p>กรณีการทำ load balancing แนะนำให้ mount ลงไปที่ path เดียวกันกับเครื่อง server ครับ<br />
จะช่วยลดปัญหายุ่งยากลงได้เยอะ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/17/%e0%b9%80%e0%b8%a7%e0%b9%87%e0%b8%9a%e0%b9%82%e0%b8%ab%e0%b8%94-%e0%b9%82%e0%b8%84%e0%b8%95%e0%b8%a3%e0%b8%aa%e0%b8%a2%e0%b8%ad%e0%b8%87/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>0008 &#124; Final Score ภาค 3</title>
		<link>http://www.icez.net/blog/11/final-score-%e0%b8%a0%e0%b8%b2%e0%b8%84-3</link>
		<comments>http://www.icez.net/blog/11/final-score-%e0%b8%a0%e0%b8%b2%e0%b8%84-3#comments</comments>
		<pubDate>Sun, 04 May 2008 17:42:21 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[IP Network]]></category>
		<category><![CDATA[admission]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[load balance]]></category>
		<category><![CDATA[optimize]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=11</guid>
		<description><![CDATA[อ้างอิงจาก Entry ที่แล้ว (เตรียมรับมือประกาศผล admission) และแล้วก็ผ่านพ้นกันไปเป็นที่เรียบร้อยสำหรับการประกาศผล admission 2551 ซึ่งผมก็ได้ไปร่วม ในฐานะเบื้องหลังของเว็บไซต์ http://admissions.bodinzone.com/ (อีกครั้ง) สรุปคร่าวๆ ก็&#8230; งานนี้ทีแรกนึกว่าจะหินมากกว่านี้ครับ แต่เจอเข้าไป &#8220;แค่&#8221; 20 คำร้องต่อวินาที (ย้ำว่าไอ้ 20 req/sec นี่ &#8220;แค่&#8221; จริงๆ สำหรับผม) มาดูสถิติกันดีกว่าครับ กราฟ CPU ไม่มีอะไรเปลี่ยนแปลง ขี้เกียจ cap ขอผ่านละกัน เอาที่น่าสนใจหน่อย กราฟ connection คงค้างในเซิฟเวอร์ครับ ตั้งแต่เริ่มประกาศ คือก่อนเวลาประมาณ 18.00 น. นิดหน่อย มาจนถึงปัจจุบัน ก็ยังมีการเรียกใช้งานอยู่เรื่อยๆ เห็นได้จากที่มีกราฟพุ่งปรี๊ดไปพอประมาณ สรุปเทคนิค optimize ที่ใช้ DNS Round Robin MySQL Indexes MySQL Memory [...]]]></description>
			<content:encoded><![CDATA[<p>อ้างอิงจาก Entry ที่แล้ว (<a href="http://www.icez.net/blog/8/%E0%B9%80%E0%B8%95%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%A1%E0%B8%A3%E0%B8%B1%E0%B8%9A%E0%B8%A1%E0%B8%B7%E0%B8%AD%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%81%E0%B8%B2%E0%B8%A8%E0%B8%9C%E0%B8%A5-admission" target="_blank">เตรียมรับมือประกาศผล admission</a>)</p>
<p>และแล้วก็ผ่านพ้นกันไปเป็นที่เรียบร้อยสำหรับการประกาศผล admission 2551<br />
ซึ่งผมก็ได้ไปร่วม ในฐานะเบื้องหลังของเว็บไซต์ <a href="http://admissions.bodinzone.com/">http://admissions.bodinzone.com/</a> (อีกครั้ง)</p>
<p><img src="http://img.thzhost.com/i/7g/twh6c.png" alt="" width="366" height="242" /></p>
<p>สรุปคร่าวๆ ก็&#8230;<br />
งานนี้ทีแรกนึกว่าจะหินมากกว่านี้ครับ<br />
แต่เจอเข้าไป &#8220;แค่&#8221; 20 คำร้องต่อวินาที<br />
(ย้ำว่าไอ้ 20 req/sec นี่ &#8220;แค่&#8221; จริงๆ สำหรับผม)</p>
<p>มาดูสถิติกันดีกว่าครับ<br />
กราฟ CPU ไม่มีอะไรเปลี่ยนแปลง ขี้เกียจ cap ขอผ่านละกัน<br />
เอาที่น่าสนใจหน่อย</p>
<p><img src="http://img.thzhost.com/i/q9/4ar1c.png" alt="" width="523" height="179" /></p>
<p>กราฟ connection คงค้างในเซิฟเวอร์ครับ<br />
ตั้งแต่เริ่มประกาศ คือก่อนเวลาประมาณ 18.00 น. นิดหน่อย มาจนถึงปัจจุบัน<br />
ก็ยังมีการเรียกใช้งานอยู่เรื่อยๆ เห็นได้จากที่มีกราฟพุ่งปรี๊ดไปพอประมาณ</p>
<p>สรุปเทคนิค optimize ที่ใช้</p>
<ol>
<li><a href="http://www.icez.net/blog/5/dns-round-robin">DNS Round Robin</a></li>
<li>MySQL Indexes</li>
<li>MySQL Memory Engine</li>
</ol>
<p>เอาไว้เดี๋ยวค่อยเขียนรายละเอียดของข้อ 2-3 ละกัน<br />
จะได้ดูแล้วมีเนื้อหาเยอะๆ หน่อย blog นี้ (ฮา)</p>
<p>ว่าแต่ น้องๆ ทุกคนเป็นไงกันมั่งครับ<br />
หวังว่าคงได้คณะที่อยากได้กันนะครับ ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/11/final-score-%e0%b8%a0%e0%b8%b2%e0%b8%84-3/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>0005 &#124; เตรียมรับมือประกาศผล admission</title>
		<link>http://www.icez.net/blog/8/%e0%b9%80%e0%b8%95%e0%b8%a3%e0%b8%b5%e0%b8%a2%e0%b8%a1%e0%b8%a3%e0%b8%b1%e0%b8%9a%e0%b8%a1%e0%b8%b7%e0%b8%ad%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%81%e0%b8%b2%e0%b8%a8%e0%b8%9c%e0%b8%a5-admission</link>
		<comments>http://www.icez.net/blog/8/%e0%b9%80%e0%b8%95%e0%b8%a3%e0%b8%b5%e0%b8%a2%e0%b8%a1%e0%b8%a3%e0%b8%b1%e0%b8%9a%e0%b8%a1%e0%b8%b7%e0%b8%ad%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%81%e0%b8%b2%e0%b8%a8%e0%b8%9c%e0%b8%a5-admission#comments</comments>
		<pubDate>Sat, 03 May 2008 10:54:28 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[admission]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[load balance]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=8</guid>
		<description><![CDATA[และแล้วก็ใกล้จะถึงวันชี้ชะตา เด็กนักเรียน ม.6 ทั่วประเทศ แน่นอนครับ วันประกาศผล admission นั่นเอง กำหนดการปัจจุบัน วันที่ 4 พ.ค. 2551 เวลา 20.00 น. จะเริ่มประกาศพร้อมกันทุกเว็บทั่วประเทศ ในการนี้ เพื่อนผมจากทาง bodinzone ก็เป็นผู้ร่วมประกาศผลด้วยเช่นกัน (โดยมีผมเป็นเบื้องหลังเช่นเคย ฮาๆ) งานนี้ถือว่าเป็นงานหินครับ เพราะ load กระจุกตัวมากๆ คือช่วงเวลาตั้งแต่ก่อนเริ่มประกาศ จนถึงประกาศไปแล้ว 1 วันเต็มๆ จะเป็นวันที่คนเข้าเว็บประกาศผลกันอย่างมืดฟ้ามัวดิน พาลจะทำให้เว็บเหล่านี้ล่มตามๆ กันซะด้วยสิ ซึ่งประกาศทุกปีก็ล่มกันทุกปี ปีที่แล้วผมเลยเข้าร่วมทดสอบ load balancer แบบง่ายๆ ใช้ DNS Round Robin ที่เคยเขียนไปแล้วนั่นแหละครับ แล้วทำ สำเนาการประกาศผลมาไว้ด้วย โดยใช้ชื่อทีมของ bodinzone ปะหน้า ผลปรากฎว่า&#8230; สบายๆ ครับ เนื่องด้วยเข้ามาช้าไปนิดนึง (หลังประกาศผลนิดหน่อย) แต่ปีนี้สิ [...]]]></description>
			<content:encoded><![CDATA[<p>และแล้วก็ใกล้จะถึงวันชี้ชะตา เด็กนักเรียน ม.6 ทั่วประเทศ<br />
แน่นอนครับ วันประกาศผล admission นั่นเอง</p>
<p>กำหนดการปัจจุบัน วันที่ 4 พ.ค. 2551 เวลา 20.00 น. จะเริ่มประกาศพร้อมกันทุกเว็บทั่วประเทศ<br />
ในการนี้ เพื่อนผมจากทาง <a href="http://www.bodinzone.com/" target="_blank">bodinzone</a> ก็เป็นผู้ร่วมประกาศผลด้วยเช่นกัน<br />
(โดยมีผมเป็นเบื้องหลังเช่นเคย ฮาๆ)</p>
<p>งานนี้ถือว่าเป็นงานหินครับ เพราะ load กระจุกตัวมากๆ คือช่วงเวลาตั้งแต่ก่อนเริ่มประกาศ<br />
จนถึงประกาศไปแล้ว 1 วันเต็มๆ จะเป็นวันที่คนเข้าเว็บประกาศผลกันอย่างมืดฟ้ามัวดิน<br />
พาลจะทำให้เว็บเหล่านี้ล่มตามๆ กันซะด้วยสิ ซึ่งประกาศทุกปีก็ล่มกันทุกปี</p>
<p>ปีที่แล้วผมเลยเข้าร่วมทดสอบ load balancer แบบง่ายๆ<br />
ใช้ DNS Round Robin ที่เคยเขียนไปแล้วนั่นแหละครับ<br />
แล้วทำ สำเนาการประกาศผลมาไว้ด้วย โดยใช้ชื่อทีมของ bodinzone ปะหน้า</p>
<p>ผลปรากฎว่า&#8230; สบายๆ ครับ เนื่องด้วยเข้ามาช้าไปนิดนึง (หลังประกาศผลนิดหน่อย)</p>
<p>แต่ปีนี้สิ &#8211; -&#8217; เตรียมการไว้เรียบร้อยแล้ว เหลือ up ฐานข้อมูลลง<br />
เพราะฉะนั้น เราจะต้องรับงานล่วงหน้าด้วย T_T</p>
<p>รอดไม่รอด พรุ่งนี้มาวัดกันครับ</p>
<p>อ้อ ขอให้น้องๆ admission 51 โชคดี ได้คณะที่หวังที่อยากได้กันทุกคนนะครับ พี่จะคอยลุ้น อุอุ</p>
<p>จากเด็ก admission รุ่นแรก</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/8/%e0%b9%80%e0%b8%95%e0%b8%a3%e0%b8%b5%e0%b8%a2%e0%b8%a1%e0%b8%a3%e0%b8%b1%e0%b8%9a%e0%b8%a1%e0%b8%b7%e0%b8%ad%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%81%e0%b8%b2%e0%b8%a8%e0%b8%9c%e0%b8%a5-admission/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>0002 &#124; DNS Round Robin</title>
		<link>http://www.icez.net/blog/5/dns-round-robin</link>
		<comments>http://www.icez.net/blog/5/dns-round-robin#comments</comments>
		<pubDate>Fri, 02 May 2008 19:10:43 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[load balance]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=5</guid>
		<description><![CDATA[ระบบ DNS นี้มีลูกเล่นอย่างนึงครับ server admin ส่วนใหญ่น่าจะรู้จักกันดีในฐานะของผู้ช่วย load balancer คือช่วยกระจายงานออกไปตามเครื่องต่างๆ หลักการมันง่ายๆ ครับ แค่ชี้ Domain เดียวกันไปที่มากกว่า 1 IP ในกรณีของ IP (A) record นะ แล้วที่เหลือก็ปล่อยเป็นหน้าที่ของเครื่องที่ค้นหา IP แล้วละครับว่าจะแจก IP ไหนให้ ซึ่งโดยมากก็จะเป็นแบบหมุนเวียน (round-robin) คือ การสอบถามครั้งที่ 1 แจก IP ที่ 1 ให้ การสอบถามครั้งที่ 2 แจก IP ที่ 2 ให้ การสอบถามครั้งที่ 3 กลับมาแจก IP ที่ 1 อีกรอบ (กรณีมีแค่ 2 IP) ตัวอย่างการตั้งค่าครับ ที่ใช้อยู่ปัจจุบัน [...]]]></description>
			<content:encoded><![CDATA[<p>ระบบ DNS นี้มีลูกเล่นอย่างนึงครับ<br />
server admin ส่วนใหญ่น่าจะรู้จักกันดีในฐานะของผู้ช่วย load balancer<br />
คือช่วยกระจายงานออกไปตามเครื่องต่างๆ</p>
<p>หลักการมันง่ายๆ ครับ<br />
แค่ชี้ Domain เดียวกันไปที่มากกว่า 1 IP ในกรณีของ IP (A) record นะ<br />
แล้วที่เหลือก็ปล่อยเป็นหน้าที่ของเครื่องที่ค้นหา IP แล้วละครับว่าจะแจก IP ไหนให้<br />
ซึ่งโดยมากก็จะเป็นแบบหมุนเวียน (round-robin) คือ<br />
การสอบถามครั้งที่ 1 แจก IP ที่ 1 ให้<br />
การสอบถามครั้งที่ 2 แจก IP ที่ 2 ให้<br />
การสอบถามครั้งที่ 3 กลับมาแจก IP ที่ 1 อีกรอบ (กรณีมีแค่ 2 IP)</p>
<p>ตัวอย่างการตั้งค่าครับ ที่ใช้อยู่ปัจจุบัน<br />
<img style="border: 0pt none;" src="http://img.thzhost.com/i/xb/0js2c.png" alt="dns round robin example" width="457" height="69" /></p>
<p>ข้อดีของระบบ DNS Round Robin นี้</p>
<ol>
<li>ตั้งค่าง่ายมาก เพราะ DNS Server ส่วนมากในปัจจุบันรองรับอยู่แล้ว</li>
<li>(ในระบบแบบพื้นฐาน) ไม่ต้องมีการติดตั้งอุปกรณ์ใดๆ เพิ่มเติม แม้แต่ชิ้นเดียว</li>
<li>ช่วย network redundant ได้นิดหน่อย คือถ้าล่ม 1 IP, ที่เหลือก็ยังสามารถทำงานได้</li>
</ol>
<p>แต่ในขณะเดียวกัน ข้อเสียใหญ่ที่สุด ที่เกิดขึ้นมาเพราะอยู่ในระบบ DNS เลยครับ<br />
&#8221; มันติด cache &#8221;<br />
ทำให้เราไม่สามารถคาดคะเนผลลัพท์ได้เลยว่า เครื่องลูกข่ายจะสอบถามแล้วได้ IP อะไรตอบกลับไป<br />
ทำให้ไม่สามารถควบคุมการเข้าถึง server ได้เลยว่า จะให้เน้นไปที่ server เครื่องไหน</p>
<p>ดังนั้น เครื่องที่จะทำ DNS-RR นี่ก็เลยควรจะเป็นเครื่องที่ spec ใกล้เคียงกันทั้งหมดครับ<br />
ไม่เช่นนั้นจะเกิดเหตุการแบบนี้ครับ</p>
<p>server 1: CPU Xeon (p4) 3.0 GHz HyperThreading &#8212; load average: 2x.xx, 2x.xx, 1x.xx<br />
server 2: CPU Xeon X3210 QuadCore 2.13GHz &#8212; load average: 3.xx, 2.xx, 2.xx</p>
<p>ผลปรากฎว่า คนไหนที่เข้าไปโผล่เครื่อง server 1 อืดจนแทบทำอะไรไม่ได้เลย T_T<br />
ชีวิตมันน่าเศร้า</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/5/dns-round-robin/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.icez.net @ 2012-02-10 19:02:07 -->
