การประเมินประสิทธิภาพของเซิร์ฟเวอร์ Alibaba Cloud Linux: การเปรียบเทียบประสิทธิภาพการทำงานของ Ubuntu และ CentOS
เมื่อองค์กรดำเนินการปรับใช้ระบบคลาวด์หรือผู้ดูแลเว็บสร้างเว็บไซต์การเลือกระบบปฏิบัติการมักเป็นปัญหาแรกหลังจากกำหนดการกำหนดค่าฮาร์ดแวร์โดยเฉพาะอย่างยิ่ง
การซื้อเซิร์ฟเวอร์ Alibaba Cloud
เมื่อสองตัวเลือกที่สะดุดตาที่สุดในรายการมิเรอร์ไม่มีอะไรมากไปกว่า
อูบุนตู
กับ
CentOS
(รวมถึงอนุพันธ์ของ RHEL เช่น Rocky Linux/AlmaLinux)
หลายคนมีปัญหากับคำถามตลอดทั้งปี: ระบบใดมีประสิทธิภาพในการทำงานมากกว่าในระบบทั้งสองนี้บน Alibaba Cloud ECS (บริการคอมพิวเตอร์แบบยืดหยุ่น) ที่มีการกำหนดค่าฮาร์ดแวร์เดียวกัน
เพื่อให้คำตอบที่มีเหตุผลไม่หรูหราและมีค่าอ้างอิงอย่างแท้จริงเราได้ติดตั้งบนอินสแตนซ์สากลของ Alibaba Cloud g7 (4คอร์16G พร้อมดิสก์คลาวด์ ESSD)
Ubuntu 22.04 LTS
กับ
CentOS 7.9 / CentOS Stream 9
, ทำการทดสอบจริงหลายรอบสำหรับการทำงานแบบทศนิยมของ CPU, ปริมาณงานหน่วยความจำ, ดิสก์ I/O และฉากบนเว็บจริง (Nginx PHP-FPM MySQL)
ด้านล่างนี้ใช้ข้อมูลจริงและประสบการณ์การปรับใช้โดยตรงเพื่อแยกช่องว่างด้านประสิทธิภาพระหว่างระบบคลาสสิกทั้งสองนี้
1.การวัดประสิทธิภาพตามทฤษฎี: ช่องว่างด้านล่างเล็กมาก
ภายใต้การทิ้งระเบิดที่มีความเข้มสูงของเครื่องมือทดสอบความดัน Sysbench และ UnixBench ประสิทธิภาพพื้นฐานของทั้งสองระบบมีดังนี้:
1. CPU และประสิทธิภาพการรับส่งข้อมูลหน่วยความจำ
ในการทดสอบการคำนวณ CPU และการอ่านและเขียนหน่วยความจำประสิทธิภาพของ Ubuntu และ CentOS เกือบจะอยู่ในระดับเดียวกัน
พลังการประมวลผลแบบมัลติเธรดของ CPU: เมื่อทำการคำนวณเฉพาะ10,000ครั้งความแตกต่างของเวลาระหว่าง Ubuntu 22.04และ CentOS 9 Stream น้อยกว่า1.2%
แบนด์วิดท์การอ่านและเขียนหน่วยความจำ: Ubuntu มีข้อได้เปรียบเล็กน้อยในการจัดสรรหน่วยความจำพร้อมกันสูง (เร็วขึ้นประมาณ2%) เนื่องจากเวอร์ชันเคอร์เนล Linux ที่อัปเดต (เคอร์เนล5.15มีการเพิ่มประสิทธิภาพที่ดีขึ้นสำหรับสถาปัตยกรรม NUMA และการตั้งเวลาหน่วยความจำ)
2.ดิสก์ I/O (Alibaba Cloud ESSD Cloud Disk)
การใช้ประโยชน์
Fio
การทดสอบการอ่านและเขียนแบบสุ่ม4K บนดิสก์คลาวด์ ESSD ของ Alibaba Cloud:
สุ่มอ่าน IOPS: ทั้งสองบัตรพื้นฐานเต็มรูปแบบของอาลีบาบาเมฆตัวอย่างที่กำหนด IOPS จำกัด
ประสิทธิภาพการหน่วงเวลา: ภายใต้การทำงานพร้อมกันสูงมากการตอบสนองของตัวกำหนดเวลา Kyber/mq-mq ของ Ubuntu จะราบรื่นเล็กน้อยในขณะที่ประสิทธิภาพทรูพุตของ CentOS มีความเสถียรอย่างมากภายใต้การตั้งค่าเริ่มต้น
สรุป: ในแง่ของการเปิดการคำนวณฮาร์ดแวร์ที่บริสุทธิ์การจัดตารางเวลาที่ยอดเยี่ยมของเคอร์เนล Linux ทำให้แทบไม่มีช่องว่างด้านประสิทธิภาพระหว่างทั้งสองระบบจะไม่กลายเป็นคอขวดแต่เป็นคอขวดของฮาร์ดแวร์และการกำหนดค่าซอฟต์แวร์
2.การเปรียบเทียบสถานการณ์ทางธุรกิจจริง: ประสิทธิภาพของเว็บสแต็กและคอนเทนเนอร์
ออกจากจุดวิ่งสังเคราะห์เราใส่มุมมอง
ดึงกลับสู่สภาพแวดล้อมทางธุรกิจที่แท้จริง
1.ฉากเว็บ (Nginx + MySQL + PHP / Node.js)
ในเครื่องมือทดสอบแรงดัน HTTP-Bench จำลอง500เมื่อมีการร้องขอพร้อมกัน:
ปริมาณงาน (RPS):Ubuntu 22.04ด้วยแพ็คเกจ Nginx และ PHP 8.x ที่ใหม่กว่าประสิทธิภาพของ QPS สูงกว่า CentOS 7.9ที่ติดตั้งแพ็คเกจเวอร์ชันเก่าประมาณ5% ~ 8% หากซอฟต์แวร์เวอร์ชันเดียวกันได้รับการคอมไพล์และติดตั้งด้วยตนเองบน CentOS ช่องว่างระหว่างทั้งสองจะลดลงเหลือน้อยกว่า1.5%
การใช้หน่วยความจำ: ในสถานะบริสุทธิ์การใช้หน่วยความจำของ CentOS 7/9จะต่ำกว่าเล็กน้อย (ประมาณ150MB ~ 200MB) ในขณะที่ Ubuntu Server ใช้พื้นที่ประมาณ220MB ~ 300MB. แต่ต่อหน้าเซิร์ฟเวอร์คลาวด์ที่เริ่มต้นด้วย4G/8G ค่าใช้จ่ายหลายร้อยเมกะไบต์เหล่านี้แทบจะไม่สำคัญเลย
2 .Docker และนิเวศวิทยาคอนเทนเนอร์
นี่คือพื้นที่สำคัญที่ทำให้ทั้งสองมีช่องว่างในประสบการณ์:
Ubuntu เป็นหนึ่งในโฮสต์ที่ต้องการสำหรับระบบนิเวศ Docker และ Kubernetes การสนับสนุนสำหรับการตรวจสอบไดรเวอร์หน่วยเก็บข้อมูล overlay2และ cgroups v2นั้นเป็นผู้ใหญ่มากและความเร็วในการเริ่มต้นของคอนเทนเนอร์และประสิทธิภาพของการเชื่อมต่อเครือข่ายนั้นยอดเยี่ยมมาก
CentOS ยังมีความเสถียรในแง่ของคอนเทนเนอร์แต่เมื่อเรียกใช้ Docker หรือ K8s เวอร์ชันใหม่ในเคอร์เนลรุ่นเก่าบางรุ่น (เช่น CentOS 7) คุณมักจะพบปัญหาความเข้ากันได้ของเคอร์เนล Bug หรือ overlay2และคุณต้องอัปเกรดเคอร์เนลด้วยตนเอง
3.ประสบการณ์การดำเนินงานและการบำรุงรักษาและการสนับสนุนระบบนิเวศ: ต้นทุนที่ซ่อนอยู่นอกเหนือจากประสิทธิภาพ
ประสิทธิภาพของเซิร์ฟเวอร์ไม่เพียงแต่หมายถึงว่า CPU ทำงานได้เร็วเพียงใด
ประสิทธิภาพในการดำเนินงานและการบำรุงรักษาและความเสถียรของระบบยังเป็นส่วนหนึ่งของ "ประสิทธิภาพที่ครอบคลุม" ของระบบ
มิติ
Ubuntu Server (22.04 / 24.04 LTS)
CentOS (7.9 /Stream/Rocky Linux)
ชุดซอฟต์แวร์ใหม่และเก่า
ใหม่กว่า (แหล่งที่มาอย่างเป็นทางการของ APT มีห่วงโซ่เครื่องมือที่ทันสมัยจำนวนมาก)
อนุรักษ์นิยม (YUM/DNF แสวงหาความเสถียรอย่างมากซอฟต์แวร์เวอร์ชันเก่ากว่า)
กลไกการรักษาความปลอดภัย
AppArmor (พร้อมใช้งานนอกกรอบกฎค่อนข้างเข้าใจง่าย)
SELinux (ระดับความปลอดภัยสูงมากแต่มือใหม่ชนกำแพงได้ง่ายและไม่สามารถเปิดบริการได้)
วงจรชีวิตของระบบนิเวศ
LTS ให้การอัปเดตฟรี5ปีและการอัปเกรดที่ราบรื่น
CentOS 7ได้หยุดการบำรุงรักษา (EOL), สตรีมสำหรับการอัปเดตเลื่อน
อะแดปเตอร์ Alibaba Cloud
Cloud-init รวมเข้าด้วยกันอย่างสมบูรณ์แบบการอัปเดตมิเรอร์เป็นไปอย่างรวดเร็ว
Alibaba Cloud Alibaba Cloud Linux (ขึ้นอยู่กับระบบนิเวศ RHEL/CentOS) ได้รับการปรับให้เหมาะสม
เมื่อซื้อเซิร์ฟเวอร์ถ้า
เซิร์ฟเวอร์ Alibaba Cloud
ซื้อ
เห็นหน้า
Alibaba Cloud Linux
ควรสังเกตว่าเป็นระบบที่พัฒนาขึ้นเองในประเทศโดย Alibaba Cloud สำหรับสถาปัตยกรรม RHEL/CentOS หากคุณคุ้นเคยกับตรรกะการทำงานของ CentOS การเลือก Alibaba Cloud Linux 3จะได้รับความเร็วในการเริ่มต้นที่ดีกว่าและการเพิ่มประสิทธิภาพระดับเคอร์เนลบนฮาร์ดแวร์ Alibaba Cloud มากกว่า CentOS ดั้งเดิม
4.คำแนะนำในการเลือก: ธุรกิจของคุณเหมาะกับธุรกิจใด?
ประสิทธิภาพที่ครอบคลุมและประสบการณ์การใช้งานและการบำรุงรักษาจริงขอแนะนำให้เลือกตามสถานการณ์ทางธุรกิจ:
เลือกสถานการณ์ของ Ubuntu: AI/Deep Learning/Data Science: PyTorch, TensorFlow และเฟรมเวิร์กอื่นๆภายใต้ Ubuntu การติดตั้งไดรเวอร์ CUDA และการจัดการการพึ่งพาเป็นสิ่งที่ไร้กังวลที่สุดคอนเทนเนอร์และคลาวด์เนทีฟ: มักใช้สถาปัตยกรรม Docker, K8s, Microservices, เคอร์เนลและชุดซอฟต์แวร์ใหม่ของ Ubuntu สามารถหลีกเลี่ยงทางอ้อมได้มากโครงการเริ่มต้นและการพัฒนาแบบฟูลสแต็ก: หากคุณต้องการปรับใช้ Python, Node.js, Go และสภาพแวดล้อมภาษาอื่นๆอย่างรวดเร็วคุณไม่จำเป็นต้องเพิ่มแหล่ง EPEL ของบุคคลที่สามที่ซับซ้อนต่างๆ
สถานการณ์ในการเลือกซีรีส์ CentOS / RHEL (หรือ Alibaba Cloud Linux): แอปพลิเคชันระดับองค์กรแบบดั้งเดิม: เช่นโครงการเว็บ Java ขนาดใหญ่ฐานข้อมูล Oracle/DB2เป็นต้นซอฟต์แวร์ระดับองค์กรที่จัดตั้งขึ้นมักจะมีการรับรองการคอมไพล์แบบเนทีฟสำหรับ RHEL/CentOS ทีมมีระบบปฏิบัติการและบำรุงรักษา RHEL อยู่แล้ว: เจ้าหน้าที่ปฏิบัติการและบำรุงรักษาของทีมคุ้นเคยกับการกำหนดค่า yum/dnf, SELinux และไฟร์วอลล์ (firewalld) เป็นอย่างดี
สรุป
จาก
ประสิทธิภาพบริสุทธิ์
จากมุมมองช่องว่างประสิทธิภาพระหว่าง Ubuntu และ CentOS บนเซิร์ฟเวอร์ Alibaba Cloud ไม่เกิน3%
ความแตกต่างที่แท้จริงคือ
เส้นทางนิเวศวิทยาและเทคโนโลยี
: Ubuntu ดีกว่าเล็กน้อยในด้านประสิทธิภาพการพัฒนาและสแต็กเทคโนโลยีที่ทันสมัย (AI/คอนเทนเนอร์) ด้วยเคอร์เนลที่อัปเดตและระบบนิเวศการจัดการแพ็คเกจที่สมบูรณ์ในขณะที่ระบบ RHEL/CentOS ยังคงครองบริการระดับองค์กรแบบดั้งเดิมด้วยรูปแบบที่อนุรักษ์นิยมและมั่นคงครึ่งหนึ่งของประเทศเสร็จแล้ว
การซื้อเซิร์ฟเวอร์ของอาลีคลาวด์
หลังจากนั้นคุณอาจต้องการตัดสินใจที่เหมาะสมที่สุดสำหรับธุรกิจตามความชอบด้านเทคนิคของทีม

