Archive for the ‘Web Server’ Category

0125 | การคำนวณ load ของ server

Tuesday, September 20th, 2011 Posted in Linux, Web Server | 2 Comments »

สืบเนื่องจากคำถามที่เจอบ่อยๆ:

– เว็บผมมีคนเข้า วันละ xxxx คน พี่รับไหวมั้ยครับ
– เว็บผมมีคนเข้า วันละ xxxx คน ต้องใช้ host ประมาณไหนเหรอครับ

==============================================

เรื่องมันมีอยู่ว่า server 1 เครื่อง ก็เปรียบเสมือนกับ ห้อง 1 ห้อง มีขนาดความจุรับได้ N คน “พร้อมๆ กัน”
แล้วก็มาถามว่า ไอ้ห้อง 1 ห้องที่ว่านี่ “วันนึง” จะรองรับ “คนเข้า” ได้กี่คนครับ?

==============================================

ปัจจัยที่เกิดขึ้นคือ

1) คนที่เข้าห้องนั้น อยู่ในห้องนานแค่ไหน? = response time ของ 1 request
2) ขนาดตัวของคนที่เข้า ใหญ่แค่ไหน (แน่นอน อ้วนมากก็เปลืองพื้นที่ห้องมาก) = request+response size

จากสองข้อนี้ ก็เลยทำให้ไม่สามารถประมาณการใช้งานจริงๆ ได้หรอกครับ เพราะขึ้นอยู่กับพฤติกรรมคนดูล้วนๆ ครับ

ของอย่างนี้มันต้องลอง !!!

Tags: , ,

0109 | Cloud Web Hosting

Saturday, August 28th, 2010 Posted in Database, IP Network, Linux, Web Server | 3 Comments »

บทความต่อไปนี้เป็นเพียงการทดสอบทฤษฎี หรือ Proof of Concept เท่านั้น ยังทดสอบใช้งานจริงไม่ผ่านด้วยสาเหตุทั้งปวง
เป้าหมายคือสร้างโฮสติ้งที่ล่มยากๆ และรองรับงานได้ปริมาณมากครับ
(โลภมากเนาะมึงนี่)

ฝั่ง web server ตรงนี้เป็น cluster ย่อมๆ เลย network ใช้ Virtual IP แต่ทำงานแบบ Dual Mode คือทุกเครื่องจะมีทั้ง Active VIP และ Standby VIP
โดยที่ Active VIP ของเครื่อง 1 จะเป็น Standby VIP ของเครื่อง 2 อย่างนี้ไปเรื่อยๆ
แล้วใช้ glusterfs ทำ replicate เก็บข้อมูล สามารถยัด node เพิ่มได้เรื่อยๆ ถ้าต้องการพื้นที่เพิ่ม

ปัญหาอย่างเดียวที่เจอตอนนี้คือ database ครับ … มัน… ทำงานพร้อมกันแบบ active-active ไม่ได้ T_T
ไม่สามารถใช้ master-master replication ได้ด้วยสาเหตุบางประการ เวลา master ล่ม จะ promote slave ขึ้นมาเป็น master แทนทันที
สามารถสลับเครื่องไปมาตลอด แต่ใช้ ip เดียว วิ่งผ่าน Virtual IP อันนึงครับ
อันนี้เขียน script ช่วยสลับเครื่องเพิ่มเติมไว้ด้วย ยังไม่รู้ว่าใช้งานจริงแล้วจะเน่าอนาถขนาดไหน

สรุป software ที่ใช้ (ในชุดทดสอบ)

– Linux CentOS 5.5 x86_64
– Apache 2.2 / PHP 5.2 / MySQL 5.0
– UCARP (Redundant Network Protocol)
– GlusterFS 3.0.5 (Distributed Storage Engine)
– Plesk 9.5 (Web Hosting Control Panel) ==> Concept ยังไม่ได้ทดสอบใช้งานจริง

จำนวนเครื่องในระบบขั้นต่ำ 4 เครื่อง แบ่งเป็น
– Web Server + Storage 2
– Database 2

ถ้าให้ดีขึ้นก็จับแยก storage ออกมาหน่อยจะดีมาก ด้านล่างเป็น diagram คร่าวๆ ครับ

Read the rest of this entry »

Tags: , , ,