ทดสอบเว็บเซิร์ฟเวอร์ด้วย ab (ApacheBench)

ดีฟอลต์คอนฟิกที่ได้จากการติดตั้งโปรแกรมจากไฟล์ rpm หรือ วิธีอื่นๆ นั้น สามารถนำมาใช้งานและทำงานได้ในระดับหนึ่ง

แต่ถ้าโปรแกรมเช่นเว็บเซิร์ฟเวอร์ ถ้าต้องให้บริการต่อผู้ใช้จำนวนมากขึ้น จำเป็นต้องปรับแต่งคอนฟิกเพิ่มเติม เพื่อให้ใช้ฮาร์ดแวร์ของเครื่องได้เต็มประสิทธิภาพ

ab เป็นโปรแกรมทดสอบเว็บเซิร์ฟเวอร์อย่างง่ายๆ โปรแกรมหนึ่งที่ติดตั้งมาพร้อมกับ Apache Web Server ถ้าเป็นไฟล์ rpm ก็อยู่ใน httpd-tools

เราสามารถนำ ab มาใช้ทดสอบเพื่อวัดผลได้ว่า เว็บเซิร์ฟเวอร์ที่กำลังแก้ไขคอนฟิกอยู่นั้น สามารถรองรับการใช้งานได้เท่าไร (requests per second) หากเราเปลี่ยนคอนฟิกไป ผลที่ได้จะเป็นอย่างไร

Continue reading “ทดสอบเว็บเซิร์ฟเวอร์ด้วย ab (ApacheBench)”

ใช้ yum ปรับปรุงเวอร์ชั่นของแพ็คเกจ

ทางทีมดูแลพัฒนา CentOS จะคอยดูแลปรับปรุงโปรแกรมและออกเวอร์ชั่นใหม่ตาม RedHat อยู่เสมอ ไฟล์แพ็คเกจเวอร์ชั่นใหม่นี้ จะถูกเก็บไว้ใน repos ชื่อ updates เพื่อให้ผู้ใช้งานสามารถใช้ yum เข้ามาตรวจสอบและปรับปรุงโปรแกรมได้

ในที่นี้จะแนะนำวิธีการปรับปรุงโปรแกรมโดยใช้คำสั่ง yum ทั้งปรับปรุงเฉพาะโปรแกรม หรือปรับปรุงทุกโปรแกรมที่ติดตั้งบนเครื่องลีนุกซ์แล้ว

คำเตือน แนะนำให้ทดสอบในเครื่องลีนุกซ์ทดลองดูก่อน เพื่อดูผลกระทบการปรับปรุงเวอร์ชั่นของโปรแกรม

Continue reading “ใช้ yum ปรับปรุงเวอร์ชั่นของแพ็คเกจ”

เปลี่ยนคอนฟิก yum ให้มาใช้ repos ในไทย

หากต้องการใช้ yum ติดตั้งโปรแกรมเพิ่มเติม หรือปรับปรุงโปรแกรมเป็นเวอร์ชั่นใหม่ เราต้องใช้ repos ที่อยู่บนอินเตอร์เน็ต

ดีฟอลต์จากการติดตั้ง CentOS 6.2 จะมีคอนฟิก repos ติดตั้งมาด้วย โดยจะชี้ไปยังเว็บไซต์ mirrorlist.centos.org แสดงรายชื่อเว็บไซต์ repos ที่ให้บริการดาวน์โหลดไฟล์ rpm อีกที

แต่ข้อเสียของการใช้คอนฟิก repos แบบดีฟอลต์นี้ ในบางครั้งเราอาจต้องไปดาวน์โหลดไฟล์จากเว็บไซต์ที่อยู่ต่างประเทศ ทำให้ความเร็วที่ได้ค่อนข้างช้า

ในบทนี้ขอแนะนำวิธีเปลี่ยนคอนฟิก repos ของ yum ให้ชี้มายังเว็บไซต์ในประเทศไทย

Continue reading “เปลี่ยนคอนฟิก yum ให้มาใช้ repos ในไทย”

คุณสมบัติใหม่ของ Fedora 16

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

ดังนั้นจะเห็นแต่ละเวอร์ชั่นของ Fedora จะมีโปรแกรม มีวิธีการคอนฟิกแบบใหม่ๆ บางครั้งก็ทำให้ผู้ดาวน์โหลดมาติดตั้ง งงไปเลยเหมือนกัน
ยิ่งเวอร์ชั่นหลังๆ การเปลี่ยนแปลงค่อนข้างมาก ล่าสุดมีการนำวิธีการบู๊ต โดยใช้ systemd ช่วยทำให้บู๊ตได้เร็วขึ้นมาก

ในที่นี้จะแสดงเฉพาะคุณสมบัติใหม่ๆ ของ Fedora 16 ตั้งแต่การติดตั้ง และการทดสอบบู๊ตเบื้องต้น

Continue reading “คุณสมบัติใหม่ของ Fedora 16”

upgrade kernel บน CentOS 5.6

ด้วยเหตุผลทางด้านประสิทธิภาพ ต้องการลงโปรแกรม library หรือ driver ของอุปกรณ์บางตัว ที่ต้องใช้ kernel เวอร์ชั่นใหม่

ในบทความนี้ ขอแนะนำวิธีการ upgrade kernel บน CentOS 5.6  โดยการดาวน์โหลดไฟล์ rpm แล้วนำมาติดตั้งเองด้วยคำสั่ง rpm

Continue reading “upgrade kernel บน CentOS 5.6”

เลือกออปชัน grep ให้เหมาะ ลดเวลาค้นหาได้มาก

ช่วงนี้รับงาน เพื่อเขียนโปรแกรมดึงข้อมูลจาก text file ทำเป็นรายงานสรุป โดยข้อมูลที่ได้มา มีจำนวนบรรทัดมากมายมหาศาล รวมๆ แล้วเป็น หมื่นล้านบรรทัด

ต้องหากระบวนการที่มีประสิทธิภาพมากที่สุดในการเขียนโปรแกรม และเมื่อได้วิธีการที่ผู้เขียนคิดว่าดีที่สุดแล้ว เลยนำมาเปรียบเทียบแชร์เล่าสู่กันฟัง

ข้อมูลที่อยู่ในไฟล์ แยกเป็นบรรทัด เหมือนกับ CSV ไฟล์ งานแรกที่ต้องทำคือ เขียนโปรแกรมเพื่อดึงข้อมูลเฉพาะบรรทัดที่มีคำที่ต้องการเท่านั้น

Continue reading “เลือกออปชัน grep ให้เหมาะ ลดเวลาค้นหาได้มาก”

ดักจับ Traffic ใน Network ด้วย tcpdump

tcpdump เป็นโปรแกรมประเภทเดียวกับ Sniffer, Wireshark คือใช้ในการดักจับ (capture) Traffic หรือ Packet ที่ รับ/ส่ง เข้า/ออก ระหว่างพอร์ตแลน (LAN) ของเซิรฟ์เวอร์เครื่องที่รันคำสั่ง และอุปกรณ์เครือข่าย (Router, Switch, HUB)

มีประโยชน์อย่างมาก เพื่อใช้ในการวิเคราะห์ ตรวจสอบ หรือแก้ปัญหาเกี่ยวกับ Network ได้

tcpdump ต้องรันด้วย root หรือเทียบเท่า และรันแบบ command line ติดตั้งมาเป็นดีฟอลต์บนลีนุกซ์เกือบทุกตระกูล เวอร์ชั่น จึงใช้งานได้สะดวก ไม่ต้องติดตั้งเพิ่มเติมเหมือนโปรแกรมอื่นๆ

ในที่นี้ขอแนะนำวิธีการใช้งานเบื้องต้นของ tcpdump

Continue reading “ดักจับ Traffic ใน Network ด้วย tcpdump”

กระจายงาน Interrupts ที่ได้รับ ให้ Multi-CPU, Cores

หากคุณประสบปัญหา ssh login เข้าเครื่อง Linux Server แล้วต้องรอหลายวินาที กว่า prompt login จะขึ้น

แต่หลังจาก login เข้าไปในระบบได้ ก็สามารถรันคำสั่งต่างๆ ทำงานได้ ไม่ได้ช้ามากแต่ประการใด

บทความนี้อาจช่วยคุณแก้ไขปัญหาได้

Continue reading “กระจายงาน Interrupts ที่ได้รับ ให้ Multi-CPU, Cores”

ตรวจสอบการทำงานเครื่องด้วย sysstat

ก่อนที่จะปรับแต่งค่าคอนฟิกเพื่อเพิ่มพลังให้เครื่องได้นั้น  เราต้องเก็บรายละเอียดสถิติการทำงานของเครื่องก่อน เพื่อวิเคราะห์ดูว่า ส่วนไหนมีการใช้งานมากน้อยอย่างไร และนำผลที่ได้มาเพื่อเปรียบเทียบ วัดผลการทดสอบ ก่อนและหลังการแก้ไขคอนฟิก

จึงจำเป็นต้องติดตั้งโปรแกรมเพิ่มเติม โปรแกรมที่นิยมใช้กัน คือ iostat, sar, mpstat ซึ่งถูกรวมไว้เป็นชุดโปรแกรมชื่อ sysstat

Continue reading “ตรวจสอบการทำงานเครื่องด้วย sysstat”

การปรับแต่งประสิทธิภาพของ Linux

นานแล้ว ไม่ได้ดูเรื่อง performance อย่างจริงจัง เพราะเครื่องส่วนใหญ่ที่ติดตั้ง แค่ปรับแต่งค่าคอนฟิกนิดหน่อยก็สามารถใช้งานได้อย่างดีแล้ว เนื่องด้วยทั้ง CPU, Memory, Disk รุ่นใหม่ๆ ค่อนข้างเร็ว

แต่ช่วงนี้ เครื่องเซิร์ฟเวอร์ที่ติดตั้งไปหลายๆ เครื่อง โดนกระหน่ำใช้งานอย่างหนักทั้ง read และ write จึงต้องหาวิธีปรับแต่ง รีดพลังความสามารถจากทุกส่วนประกอบของเครื่องเลย

เคยเขียนบนเว็บไซต์ไปบ้างแล้ว ถึงการปรับแต่งพื้นฐาน แต่คราวนี้ขอลงรายละเอียดมากหน่อย เพื่ออาจเป็นประโยชน์กับผู้ดูแลระบบที่กำลังประสบปัญหา โดนผู้ใช้ (users) บ่นเป็นประจำ :(

Continue reading “การปรับแต่งประสิทธิภาพของ Linux”