โซลูชัน · คอนเทนเนอร์
Docker ต้องใช้เซิร์ฟเวอร์ขนาดเท่าไร?
คอนเทนเนอร์คือโปรเซสที่ใช้เคอร์เนลร่วมกัน ไม่ใช่เครื่องเสมือนขนาดเล็ก daemon ใช้ประมาณ 100 MB และที่เหลือก็เป็นแค่โปรเซสของคุณเอง คำตอบจึงน้อยกว่าที่คำถามคาดไว้: proxy แอป ฐานข้อมูล และแคชรวมกันประมาณ 515 MB ซึ่งรันได้สบายบน BD-8 ราคา $12.90
คอนเทนเนอร์ใช้ทรัพยากรจริงเท่าไร
ช่วงค่าประมาณ ไม่ใช่ผลเบนช์มาร์ก
อิมเมจ การกำหนดค่า และทราฟฟิกของคุณส่งผลต่อตัวเลขเหล่านี้มากกว่าที่ตารางใดจะบอกได้ รัน docker stats บนสแตกของคุณเอง นั่นคือตัวเลขเดียวที่ใช้กับคุณได้
| คอนเทนเนอร์ | หน่วยความจำโดยทั่วไป | รันได้บน BD-8 (8 GB) |
|---|---|---|
| Reverse proxynginx, Caddy, Traefik | 15–60 MB | 129 ในกรณีสูงสุด |
| เว็บแอปขนาดเล็กNode, Python, Go (โปรเซสเดียว) | 60–200 MB | 38 ในกรณีสูงสุด |
| PostgreSQL หรือ MySQLชุดข้อมูลขนาดเล็ก, pool เริ่มต้น | 200–500 MB | 15 ในกรณีสูงสุด |
| Redisเมื่อใช้เป็นแคช จำกัดด้วย maxmemory | 20–200 MB | 38 ในกรณีสูงสุด |
| บริการ JVMJava, Kotlin, Elasticsearch | 500–2000 MB | 3 ในกรณีสูงสุด |
คำนวณกันดู
แต่ละแพ็กเกจรองรับได้เท่าไร
หน่วยความจำ ลบ 300 MB สำหรับระบบปฏิบัติการ และ 100 MB สำหรับ daemon แล้วหารด้วยที่คอนเทนเนอร์ของคุณใช้ คอลัมน์กลางคือทั้งสแตก (proxy แอป ฐานข้อมูล แคช) ที่ประมาณ 515 MB
| แพ็กเกจ | RAM | ทั้งสแตก | แอปขนาดเล็ก | ดิสก์ | ราคา | ปรับใช้ |
|---|---|---|---|---|---|---|
| VPS-1 | 1 GB | 1 | 3 | 25 GB | $9.90 | ปรับใช้ |
| BD-8 | 8 GB | 15 | 38 | 100 GB | $12.90 | ปรับใช้ |
| BD-12 | 12 GB | 23 | 59 | 200 GB | $17.90 | ปรับใช้ |
| BD-24 | 24 GB | 46 | 120 | 300 GB | $31.90 | ปรับใช้ |
ดิสก์คือเรื่องน่าแปลกใจอันดับสองที่คนมักเจอทีหลัง: อิมเมจ volume และ log สะสมอย่างเงียบๆ ใส่ docker system prune ไว้ใน cron รายสัปดาห์ก่อนที่จะกลายเป็นเรื่องเร่งด่วน ไม่ใช่หลังจากนั้น
เทียบกับของเราเอง
เมื่อไรที่คุณไม่ควรซื้อสิ่งนี้
แพลตฟอร์มคอนเทนเนอร์แบบมีการจัดการแพงกว่าเพราะดูแลระบบให้ ซึ่งเป็นสิ่งที่คุ้มค่าจะซื้อจริง
VPS ให้สิทธิ์ root แก่คุณ และมอบหน้าที่อัปเดต รีสตาร์ต ใบรับรอง และการรับแจ้งเหตุให้คุณ ซึ่งถูกกว่ามากและก็เป็นงานที่มากขึ้นจริงๆ หากคุณไม่ต้องการงานนั้น แพลตฟอร์มแบบมีการจัดการคือคำตอบที่ตรงไปตรงมา และเรายินดีแนะนำมากกว่าขายเครื่องที่สุดท้ายถูกทิ้งไว้พร้อม daemon ที่ไม่ได้แพตช์และเปิดสู่อินเทอร์เน็ต คำแนะนำย่อยอีกสองข้อ: ตั้งขีดจำกัดหน่วยความจำให้ทุกคอนเทนเนอร์ เพื่อให้ตัวที่ทำงานผิดปกติเป็นตัวที่ถูกปิด ไม่ใช่ฐานข้อมูลของคุณ และอย่าใช้ Kubernetes บนเครื่องเดียว orchestrator ที่ไม่มีอะไรให้จัดตารางมีแต่ความซับซ้อน
คำถาม