คุณติดตั้ง Ubuntu Server 24.04 LTS บนเครื่องเสมือนสองเครื่องที่เหมือนกันทุกประการ เลือกแบบ Minimal บนเครื่องหนึ่ง และแบบมาตรฐานบนอีกเครื่องหนึ่ง จากนั้นก็สงสัยว่าการติดตั้งแบบขนาดเล็กกว่าจะทำให้แอปพลิเคชันของคุณทำงานเร็วขึ้นจริงหรือไม่ นี่คือคำถามเชิงปฏิบัติที่อยู่เบื้องหลังการเปรียบเทียบ "Minimal กับ Standard" ส่วนใหญ่ คำตอบนั้นซับซ้อนกว่าคะแนนการทดสอบเพียงอย่างเดียว: การติดตั้งแบบ Minimal สามารถลดการใช้พื้นที่จัดเก็บข้อมูล จำนวนแพ็กเกจที่ติดตั้ง ซอฟต์แวร์ที่ทำงานอยู่เบื้องหลัง และบางครั้งอาจลดหน่วยความจำที่ไม่ได้ใช้งานหรือการทำงานขณะบูตเครื่อง แต่ไม่ได้หมายความว่าจะทำให้ CPU ฐานข้อมูล หรือเว็บเซิร์ฟเวอร์ของคุณทำงานเร็วขึ้นโดยอัตโนมัติ
Ubuntu 24.04 LTS หรือชื่อรหัส Noble Numbat ได้รับการดูแลด้านความปลอดภัยโดย Canonical เป็นเวลาห้าปี จนถึงวันที่ 31 พฤษภาคม 2029 ทั้งสองรูปแบบการติดตั้งอยู่ในตระกูล Ubuntu เดียวกันและสามารถใช้คลังซอฟต์แวร์ Ubuntu เดียวกันได้ ความแตกต่างที่สำคัญคือสิ่งที่ติดตั้งโดยค่าเริ่มต้น ไม่ใช่ระบบปฏิบัติการที่ปรับแต่งประสิทธิภาพแตกต่างกัน คลังซอฟต์แวร์ของ Canonical อธิบายubuntu-server-minimalว่าเป็น “ระบบขั้นต่ำของ Ubuntu Server” ในขณะที่ubuntu-servermetapackage ดึงเครื่องมือการจัดการเซิร์ฟเวอร์และแพ็กเกจที่แนะนำที่หลากหลายกว่าเข้ามา ดูคำจำกัดความแพ็กเกจขั้นต่ำของ Ubuntu Server อย่างเป็นทางการคำจำกัดความแพ็กเกจของ Ubuntu Serverและบันทึกประจำรุ่นของ Ubuntu 24.04 LTS
ภาพแสดงมุมมองเทอร์มินัลแบบเปรียบเทียบระหว่าง Ubuntu Server 24.04 รุ่น Minimal และ Standard ค่าหน่วยความจำที่แสดงบนหน้าจอเป็นเพียงตัวอย่าง ไม่ใช่การวัดประสิทธิภาพ โปรดใช้คำสั่งด้านล่างเพื่อวัดประสิทธิภาพระบบของคุณเอง
แบบมินิมอลกับแบบมาตรฐาน: อะไรเปลี่ยนแปลงไปบ้าง?
ตัวเลือกแบบขั้นต่ำสุดนั้นเข้าใจได้ดีที่สุดว่าเป็นจุดเริ่มต้นที่มีขนาดเล็กกว่า มันจะติดตั้งแพลตฟอร์มเซิร์ฟเวอร์ที่จำเป็นและตัดซอฟต์แวร์อำนวยความสะดวกบางส่วนที่ผู้ดูแลระบบเซิร์ฟเวอร์ทั่วไปอาจคาดหวังออกไป แพ็กเกจเมตาของเซิร์ฟเวอร์มาตรฐานประกอบด้วยเครื่องมือเพิ่มเติม เช่น ตัวจัดการเทอร์มินัล โปรแกรมแก้ไขข้อความ ยูทิลิตี้สำหรับแก้ไขปัญหา ตัวช่วยในการจัดการที่เก็บข้อมูล และแพ็กเกจอื่นๆ ที่มีประโยชน์สำหรับการดูแลระบบแบบโต้ตอบ
| พื้นที่ | ติดตั้งขั้นต่ำ | การติดตั้งเซิร์ฟเวอร์มาตรฐาน |
| การเผยแพร่ Ubuntu หลัก | Ubuntu 24.04 LTS | Ubuntu 24.04 LTS |
| เคอร์เนลและที่เก็บข้อมูล | อยู่ในตระกูลเดียวกันและสามารถเข้าถึงคลังเก็บข้อมูลได้ | อยู่ในตระกูลเดียวกันและสามารถเข้าถึงคลังเก็บข้อมูลได้ |
| ซอฟต์แวร์เริ่มต้น | ชุดอุปกรณ์จำเป็นขนาดเล็ก | ชุดที่เน้นการบริหารจัดการในวงกว้าง |
| ขนาดดิสก์ | โดยปกติแล้วจะต่ำกว่าในการติดตั้งใหม่ | โดยทั่วไปราคาจะสูงกว่า เนื่องจากมีพัสดุมากกว่า |
| บริการที่ไม่ได้ใช้งานและหน่วยความจำ | อาจต่ำกว่านี้ได้ ขึ้นอยู่กับบริการที่ติดตั้งและเปิดใช้งาน | อาจสูงกว่านี้ได้ ขึ้นอยู่กับบริการที่เปิดใช้งาน |
| ประสิทธิภาพการประมวลผลของแอปพลิเคชัน | ไม่ได้เร็วกว่าเสมอไปเมื่อปริมาณงานและบริการมีความสอดคล้องกัน | ไม่ได้ช้าลงโดยเนื้อแท้เมื่อปริมาณงานและบริการสอดคล้องกันแล้ว |
| การบริหารงานประจำวัน | คุณอาจต้องติดตั้งเครื่องมือที่ขาดหายไปโดยเฉพาะ | มีฟังก์ชันการใช้งานเพิ่มเติมที่พร้อมใช้งานได้ทันที |
นอกจากนี้ Canonical ยังจัดทำเอกสารเกี่ยวกับอิมเมจ Ubuntu บนคลาวด์แบบ Minimal ซึ่งเป็นอิมเมจที่มีขนาดเล็กกว่าโดยเจตนา โดยตัดแพ็กเกจที่ไม่จำเป็นออก และในบางกรณีก็ตัดแพ็กเกจที่แนะนำออกด้วย Canonical ระบุว่าอิมเมจเหล่านี้สามารถติดตั้ง จัดเตรียม และบูตได้เร็วกว่าอิมเมจพื้นฐานขนาดใหญ่ คำกล่าวอ้างเกี่ยวกับอิมเมจบนคลาวด์นี้สนับสนุนกลไกทั่วไปที่ว่า ซอฟต์แวร์น้อยลงหมายถึงการถ่ายโอน ติดตั้ง และเริ่มต้นใช้งานน้อยลง แต่ไม่ควรเข้าใจผิดว่าเป็นตัวเลขมาตรฐานสากลสำหรับตัวติดตั้ง ISO ของ Ubuntu Server เอกสารเกี่ยวกับคลาวด์มีอยู่ที่Ubuntu base and minimal images
เหตุใดการอ้างอิงมาตรฐานจึงแตกต่างกันมาก
การเปรียบเทียบประสิทธิภาพมักจะผสมผสานคำถามสามข้อที่แตกต่างกัน ข้อแรกคือปริมาณการใช้ทรัพยากร: มีการใช้แพ็กเกจกี่แพ็กเกจ พื้นที่ดิสก์เท่าไร และหน่วยความจำเท่าไรก่อนที่จะใช้งานเวิร์กโหลด ข้อที่สองคือค่าใช้จ่ายในการเริ่มต้นระบบ: ใช้เวลาเท่าไรในการเปิดใช้งานบริการระหว่างการบูตเครื่อง ข้อที่สามคือประสิทธิภาพของเวิร์กโหลด: จำนวนคำขอต่อวินาที การทำธุรกรรมฐานข้อมูล เวลาในการคอมไพล์ ความเร็วในการบีบอัด หรือตัวชี้วัดอื่นๆ ของแอปพลิเคชัน
โดยทั่วไปแล้ว การตั้งค่าแบบขั้นต่ำมักจะแสดงข้อได้เปรียบที่ชัดเจนในหมวดหมู่แรก นอกจากนี้ยังสามารถปรับปรุงหมวดหมู่ที่สองได้หากระบบมาตรฐานมีบริการเสริมที่เปิดใช้งานอยู่ หมวดหมู่ที่สามมักจะไม่แตกต่างกันมากนัก หากทั้งสองเครื่องใช้เคอร์เนลเดียวกัน เวอร์ชันแอปพลิเคชันเดียวกัน ฐานข้อมูลเดียวกัน ชุดบริการเดียวกัน และการกำหนดค่า CPU และพื้นที่จัดเก็บข้อมูลเดียวกัน แอปพลิเคชันมักจะไม่เห็นเหตุผลที่จะทำงานแตกต่างกัน เซิร์ฟเวอร์เว็บจะไม่เร็วขึ้นเพียงเพราะtmuxไม่มีvimแพ็คเกจแก้ไขปัญหาหรือแพ็คเกจการติดตั้ง
ด้วยเหตุนี้ ตัวเลขคงที่ เช่น “โหมด Minimal ใช้ RAM น้อยลง 40%” หรือ “โหมด Minimal เร็วกว่า 15%” จึงควรได้รับการพิจารณาอย่างระมัดระวัง เว้นแต่ผู้เขียนจะเปิดเผยเวอร์ชันย่อยของ Ubuntu สถานะของแพ็กเกจ แพลตฟอร์มเวอร์ชวลไลเซชัน ฮาร์ดแวร์ รายการบริการ และวิธีการทดสอบประสิทธิภาพอย่างละเอียด Canonical ไม่ได้เผยแพร่ตารางเปรียบเทียบประสิทธิภาพระหว่างโหมด Minimal กับ Standard ที่เป็นสากลสำหรับทุกการใช้งาน Ubuntu Server 24.04 ดังนั้นบทความนี้จึงไม่ได้สร้างตารางดังกล่าวขึ้นมาเอง
ทดสอบประสิทธิภาพ Ubuntu Server 24.04 ได้อย่างค่อนข้างดี
การเปรียบเทียบที่มีประโยชน์ที่สุดคือการเปรียบเทียบที่คุณสามารถทำซ้ำได้บนฮาร์ดแวร์หรืออินสแตนซ์คลาวด์ของคุณเอง เริ่มต้นด้วยการติดตั้งใหม่สองครั้งบนทรัพยากรที่เหมือนกัน ใช้ Ubuntu 24.04 รุ่นเดียวกัน จำนวน CPU การจัดสรร RAM ประเภทดิสก์เสมือน ระบบไฟล์ โหมดเฟิร์มแวร์ รูปแบบเครือข่าย และโฮสต์เสมือนเดียวกัน ทำการอัปเดตเดียวกันก่อนทำการวัด
1. บันทึกจำนวนแพ็กเกจและขนาดที่ติดตั้ง
นับจำนวนแพ็กเกจที่ติดตั้งด้วย:
dpkg-query -f '${binary:Package}
' -W | wc -l
จากนั้นตรวจสอบการใช้งานดิสก์:
df -h /
sudo du -xsh /usr /var 2>/dev/null
นี่เป็นการวัดปริมาณการใช้ทรัพยากร ไม่ใช่การวัดความเร็วของแอปพลิเคชัน ควรทำการทดสอบทันทีหลังจากรอบการอัปเดตเดียวกันบนทั้งสองระบบ
2. เปรียบเทียบหน่วยความจำที่ไม่ได้ใช้งานโดยไม่สับสนระหว่างแคชกับหน่วยความจำที่สูญเปล่า
ใช้ คำสั่ง free -h`get_cache_name` แต่ให้เน้นที่availableคอลัมน์แทนที่จะคิดว่าเมกะไบต์ที่แคชไว้ทุกเมกะไบต์ถูกใช้งานอย่างถาวร ลินุกซ์จงใจใช้ RAM ที่ไม่ได้ใช้งานสำหรับการแคชระบบไฟล์ นอกจากนี้ ให้บันทึกบริการที่ใช้งานอยู่ด้วย เพื่อให้คุณสามารถอธิบายความแตกต่างใดๆ ได้:
free -h
systemctl --type=service --state=running
systemctl list-unit-files --state=enabled
หากโหมด Minimal ช่วยประหยัดหน่วยความจำเนื่องจากไม่มีบริการสามอย่าง นั่นถือเป็นผลลัพธ์ที่มีประโยชน์ หากคุณติดตั้งและเปิดใช้งานบริการเหล่านั้นในภายหลัง ช่องว่างในการใช้หน่วยความจำก็จะลดลง
3. วัดเวลาในการบูตเครื่อง แล้วระบุสาเหตุ
Systemd มีเครื่องมือจับเวลาในตัว:
systemd-analyze
systemd-analyze blame
systemd-analyze critical-chain
ควรทำการบูตเครื่องหลายๆ ครั้ง คัดกรองค่าที่ผิดปกติออกไป และเปรียบเทียบค่ามัธยฐานแทนที่จะเปรียบเทียบเพียงครั้งเดียว เวลาในการบูตเครื่องเสมือนอาจได้รับอิทธิพลจากไฮเปอร์ไวเซอร์ การเริ่มต้นระบบบนคลาวด์ ความหน่วงของพื้นที่จัดเก็บข้อมูล DHCP เฟิร์มแวร์ และภาระงานเบื้องหลังของโฮสต์ ดังนั้นการสุ่มตัวอย่างเพียงครั้งเดียวจึงเป็นหลักฐานที่ไม่แข็งแรงพอ
4. ทดสอบปริมาณงานที่คุณสนใจจริงๆ
หากเซิร์ฟเวอร์จะใช้งาน Nginx, PostgreSQL, Redis, Docker, บริการ Java หรือ API Python ให้ทำการทดสอบประสิทธิภาพการทำงานหลังจากที่ซอฟต์แวร์ทุกตัวเหมือนกันหมดแล้ว หัวใจสำคัญของการทดสอบไม่ใช่ “ระบบปฏิบัติการใหม่ตัวไหนเบากว่ากัน?” แต่เป็น “ฐานระบบที่เบากว่าจะเปลี่ยนแปลงประสิทธิภาพการทำงานในระบบการผลิตของฉันหรือไม่ หลังจากที่ทั้งสองเครื่องมีทุกอย่างที่จำเป็นสำหรับการทำงานนั้นแล้ว?”
สำหรับการทดสอบที่เน้นการประมวลผลของ CPU ให้ใช้ไบนารีและเวอร์ชันของเกณฑ์มาตรฐานเดียวกันบนเครื่องทั้งสองเครื่อง สำหรับการทดสอบการจัดเก็บข้อมูล ให้คงการตั้งค่าระบบไฟล์ ตัวเลือกการเมานต์ ตัวควบคุมดิสก์เสมือน การตั้งค่าคิว และนโยบายแคชให้เหมือนกัน สำหรับการทดสอบเครือข่าย ตรวจสอบให้แน่ใจว่าเครื่องเสมือนทั้งสองเครื่องใช้เส้นทางเดียวกัน และอย่าเรียกใช้เกณฑ์มาตรฐานพร้อมกันหากจะแย่งชิงทรัพยากรทางกายภาพของโฮสต์เดียวกัน
คุณควรคาดหวังความแตกต่างด้านประสิทธิภาพอย่างไร?
บน VPS ขนาดเล็ก โฮสต์คอนเทนเนอร์ การใช้งานแบบอุปกรณ์ หรือกลุ่มระบบอัตโนมัติ การใช้ธีม Minimal มีข้อดีในทางปฏิบัติ เพราะแพ็กเกจที่ไม่จำเป็นทุกตัวจะใช้พื้นที่จัดเก็บข้อมูล แบนด์วิดท์ในการอัปเดต ความซับซ้อนของรายการ หรือการดูแลจัดการ นอกจากนี้ อิมเมจเริ่มต้นที่มีขนาดเล็กกว่ายังช่วยลดเวลาในการจัดเตรียมระบบ ซึ่งจำเป็นต้องถ่ายโอนหรือขยายอิมเมจซ้ำๆ
บนเซิร์ฟเวอร์อเนกประสงค์ที่มนุษย์ดูแลจัดการแบบโต้ตอบ การติดตั้งแบบมาตรฐานอาจเป็นทางเลือกที่ดีกว่า เครื่องมือเพิ่มเติมสามารถช่วยประหยัดเวลาในการแก้ไขปัญหา และต้นทุนทรัพยากรของยูทิลิตี้บรรทัดคำสั่งที่ไม่ได้ใช้งานเพียงไม่กี่ตัวนั้นมักจะน้อยมากเมื่อเทียบกับบัฟเฟอร์พูลของฐานข้อมูล ฮีปของ JVM ภาระงานของคอนเทนเนอร์ หรือแคชไฟล์ การลบแพ็กเกจที่ไม่เคยใช้งานไม่ได้ทำให้รอบการทำงานของ CPU เพิ่มขึ้นอย่างน่าอัศจรรย์
ชุดแพ็กเกจมาตรฐานไม่ได้มีความหมายตายตัวว่า “ใหญ่เกินไป” Canonical สามารถเปลี่ยนแปลงการพึ่งพาแพ็กเกจและคำแนะนำต่างๆ ผ่านการอัปเดตได้ และผู้ดูแลระบบมักปรับแต่งการติดตั้งทั้งสองแบบ เซิร์ฟเวอร์สองเครื่องที่เริ่มต้นแตกต่างกันอาจค่อยๆ เหมือนกันมากขึ้นเมื่อเวลาผ่านไป เมื่อมีการเพิ่มหรือลบแพ็กเกจ
คำว่า "น้อยที่สุด" ไม่ได้หมายความว่าการสนับสนุนจะลดลง
ข้อกังวลที่พบบ่อยคือ การเลือกใช้เวอร์ชัน Minimal อาจทำให้คุณได้รับการสนับสนุนระบบปฏิบัติการน้อยลง เอกสารประกอบการใช้งาน Ubuntu Minimal บนระบบคลาวด์ของ Canonical ระบุว่า อิมเมจเวอร์ชัน Minimal ยังคงสามารถเข้าถึงคลังเก็บข้อมูลของ Ubuntu และมีรูปแบบการบำรุงรักษาด้านความปลอดภัยเช่นเดียวกับอิมเมจเวอร์ชันพื้นฐาน Ubuntu Server 24.04 LTS เองก็ยังคงอยู่ภายใต้ขอบเขตการบำรุงรักษาด้านความปลอดภัยมาตรฐานของเวอร์ชันนั้น สิ่งที่คุณเสียไปส่วนใหญ่คือความสะดวกสบายจากการติดตั้งไว้ล่วงหน้า ไม่ใช่การเข้าถึงระบบนิเวศของแพ็กเกจตามปกติ
หากสภาพแวดล้อมขั้นต่ำนั้นเรียบง่ายเกินไปสำหรับการจัดการแบบโต้ตอบ Canonical มีunminimizeเครื่องมือสำหรับอิมเมจ Ubuntu ขั้นต่ำ เครื่องมือนี้จะกู้คืนเอกสารและคำแปล และติดตั้งแพ็กเกจเพิ่มเติมที่ออกแบบมาเพื่อให้สภาพแวดล้อมสะดวกต่อการใช้งานมากขึ้น Canonical ได้อธิบายคำสั่งนี้ไว้ในเอกสาร Ubuntu ขั้นต่ำ เดียวกัน อย่างไรก็ตาม อย่าคิดว่าการเรียกใช้คำสั่งนี้unminimizeจะตรงกันทุกประการกับการติดตั้งเซิร์ฟเวอร์มาตรฐานทุกรูปแบบ แพ็กเกจที่ติดตั้งยังขึ้นอยู่กับประเภทของอิมเมจ ตัวเลือกตัวติดตั้ง สถาปัตยกรรม และการอัปเดตด้วย
คุณควรเลือกอันไหนดี?
เลือก Minimal เมื่อคุณต้องการฐานที่ควบคุมได้ ทำซ้ำได้ และรู้แน่ชัดแล้วว่าการปรับใช้ของคุณต้องการแพ็กเกจใดบ้าง เหมาะอย่างยิ่งสำหรับการจัดเตรียมอัตโนมัติ อิมเมจต้นแบบ (golden images) ตัวประมวลผล CI โฮสต์คอนเทนเนอร์ อุปกรณ์ Edge และ VM ขนาดเล็กที่พื้นที่ดิสก์หรือหน่วยความจำเหลือเฟือมีความสำคัญ
เลือกตัวเลือกมาตรฐานเมื่อความสะดวกสบายของผู้ดูแลระบบมีความสำคัญมากกว่าการลดประสิทธิภาพพื้นฐาน โดยมักจะเป็นตัวเลือกที่ง่ายกว่าสำหรับเซิร์ฟเวอร์ที่จัดการด้วยตนเอง ระบบในห้องปฏิบัติการ สภาพแวดล้อมที่ต้องแก้ไขปัญหาอย่างหนัก หรือเครื่องที่มีขนาดแอปพลิเคชันใหญ่กว่าภาระการทำงานของระบบปฏิบัติการ
หากการตัดสินใจของคุณขึ้นอยู่กับปริมาณงานเพียงอย่างเดียว อย่าเลือกโดยอิงจากเปอร์เซ็นต์ทั่วไปจากเครื่องของคนอื่น ติดตั้งทั้งสองโปรแกรมบนเครื่องทดสอบที่เหมือนกันทุกประการ ปรับแต่งชุดแอปพลิเคชันให้เป็นมาตรฐาน และวัดปริมาณงานจริงของคุณ
วิธีตรวจสอบผลลัพธ์ของคุณ
ก่อนที่จะประกาศผู้ชนะ ให้ตรวจสอบห้าสิ่งต่อไปนี้: ทั้งสองเครื่องใช้ Ubuntu 24.04 รุ่นเดียวกันและเคอร์เนลเดียวกัน; ทั้งสองเครื่องได้รับการอัปเดตเหมือนกัน; CPU, RAM, ดิสก์, ระบบไฟล์ และการตั้งค่าเวอร์ชวลไลเซชันตรงกัน; บันทึกรายการบริการที่กำลังทำงานอยู่; และทำการทดสอบประสิทธิภาพแอปพลิเคชันซ้ำหลายครั้งพอที่จะแสดงให้เห็นถึงความผิดพลาด บันทึกรายการแพ็กเกจและคำสั่งการทดสอบประสิทธิภาพพร้อมกับผลลัพธ์เพื่อให้สามารถทำการทดสอบซ้ำได้ในภายหลัง
บทสรุปที่ดีมักจะแยกความแตกต่างระหว่างขนาดไฟล์ที่ใช้ไปกับปริมาณงาน (footprint) กับปริมาณงาน (throughput) ตัวอย่างเช่น: “Minimum ใช้แพ็กเกจที่ติดตั้งน้อยกว่าและใช้พื้นที่ดิสก์น้อยกว่าในสภาพแวดล้อมนี้ ในขณะที่การทดสอบประสิทธิภาพของแอปพลิเคชันอยู่ในช่วงความคลาดเคลื่อนปกติในการทำงานแต่ละครั้งหลังจากที่ทั้งสองระบบได้รับการกำหนดค่าเหมือนกันทุกประการ” นี่มีประโยชน์มากกว่าการอ้างว่าการติดตั้งแบบใดแบบหนึ่งเร็วกว่าแบบทั่วไป
สำหรับ Ubuntu Server 24.04 เวอร์ชัน Minimal เป็นจุดเริ่มต้นที่ประหยัดพื้นที่มากกว่า ส่วนเวอร์ชัน Standard เป็นจุดเริ่มต้นที่สะดวกกว่า ประสิทธิภาพที่เพิ่มขึ้นนั้นเห็นได้ชัดจากขนาดไฟล์และการติดตั้งที่ซับซ้อนกว่า ส่วนว่าจะส่งผลต่อความเร็วในการใช้งานจริงหรือไม่นั้น ขึ้นอยู่กับลักษณะงานของคุณเอง ไม่ใช่ชื่อเวอร์ชันของตัวติดตั้ง