คำเตือน: Sonassi เป็นโฮสต์วีโอไอพี
TL; DR - โฮสต์ที่ดีจะบอกคุณว่าอะไรคือสิ่งที่คุณต้องการ (และปรับให้เหมาะสม) คุณไม่ควรทำสิ่งนี้ด้วยตัวเอง
เมื่อลูกค้าเข้ามาหาเราเราจะถามคำถามสองสามข้อเพื่อทำความเข้าใจกับข้อกำหนดปัจจุบันข้อกำหนดสูงสุดและข้อกำหนดในอนาคตสำหรับร้านค้าของพวกเขา จากนั้นเราจะให้คำแนะนำบนพื้นฐานนั้น
เนื่องจากเราโฮสต์ร้านค้า Magento หลายพันแห่งเราจึงมีความเข้าใจอย่างเป็นธรรมเกี่ยวกับโครงสร้างพื้นฐานที่จำเป็นสำหรับชุดความต้องการของลูกค้าดังนั้นมันจึงเป็นเรื่องง่ายสำหรับเราที่จะให้คำแนะนำ (และการคาดการณ์ว่าจะใช้ทรัพยากรใด) พวกเขามีชีวิตจริง
รายละเอียดที่ควรทราบที่นี่คือในขณะที่เราสามารถบอกคุณได้อย่างแน่นอนถึงข้อกำหนดสำหรับโครงสร้างพื้นฐานของเราเองที่ใช้งาน MageStack ซึ่งแทบจะไม่เหมือนกันกับที่ตั้งไว้ที่อื่นดังนั้นควรคำนึงไว้เสมอ
ให้คนอื่นปรับขนาดความต้องการของคุณ
จัดเก็บและแคตตาล็อก
- รุ่นวีโอไอพี
- จำนวนผลิตภัณฑ์อย่างง่ายในแคตตาล็อก?
- จำนวนหมวดหมู่ในแคตตาล็อก?
- จำนวนคุณลักษณะในแคตตาล็อก?
- จำนวนชุดคุณลักษณะในแคตตาล็อก?
- จำนวนมุมมองร้านค้า Magento (ผู้ดูแลระบบ> ระบบ> จัดการร้านค้า)?
- ทำธุรกรรมต่อวัน?
- ธุรกรรมสูงสุดในหนึ่งชั่วโมง?
การจราจรและแบนด์วิดธ์
- ผู้เข้าชมที่ไม่ซ้ำทุกวันในระดับใด
- ยอดเขาที่สูงที่สุดในหนึ่งชั่วโมงของผู้เยี่ยมชมที่ไม่ซ้ำคืออะไร?
- จำนวนการดูหน้าเว็บต่อผู้เข้าชม?
- ประเทศใดที่ผู้เข้าชมส่วนใหญ่มาจาก?
- คุณคาดหวังว่าอัตราการเข้าชมเว็บไซต์จะเพิ่มขึ้นในอีก 12 เดือนข้างหน้าหรือไม่ถ้าใช่
- คุณใช้งานแคมเปญ / จดหมายข่าวที่มีปริมาณการใช้งานสูง (ที่มีการใช้อย่างมีนัยสำคัญ) เป็นประจำหรือไม่?
- เว็บไซต์ของคุณมีการดาวน์โหลดดิจิทัลหรือไม่
- การใช้แบนด์วิดท์ปัจจุบันหรือไม่
- คุณต้องการบริการกรอง dDOS หรือไม่?
ข้อกำหนดด้านฮาร์ดแวร์
- การใช้พื้นที่ดิสก์ปัจจุบัน?
- คุณต้องการพื้นที่เก็บข้อมูลบันทึกระยะยาว (ปฏิบัติตาม PCI-DSS) หรือไม่
- คุณต้องการที่เก็บข้อมูลสำรองนอกสถานที่หรือไม่?
- คุณต้องการเรียกใช้ซอฟต์แวร์ผู้เชี่ยวชาญ / ซอฟต์แวร์สำรองอื่น ๆ บนเซิร์ฟเวอร์หรือไม่?
- ข้อบังคับว่าด้วยการปฏิบัติตาม PCI ของคุณบอกให้ใช้ไฟร์วอลล์ฮาร์ดแวร์หรือไม่
- คุณต้องการวิธีแก้ปัญหาข้อผิดพลาดความพร้อมใช้งานสูงหรือโหลดบาลานซ์หรือไม่?
การฝึกซ้อม / การพัฒนา
- คุณต้องการสภาพแวดล้อมเฉพาะสำหรับการจัดเตรียม / การพัฒนาหรือไม่?
- คุณต้องการสภาพแวดล้อมแบบ "ทดสอบสด" เพื่อให้ตรงกับสภาพแวดล้อม "สด" (สำหรับการทดสอบขั้นสุดท้ายก่อนสด) หรือไม่
งบ
- คุณมีงบประมาณรายเดือนหรือไม่?
จากนั้นใช้ข้อมูลนี้ส่งไปยังผู้ให้บริการโฮสติ้งที่คุณเลือกและดูว่าพวกเขาแนะนำอะไร
ปรับขนาดความต้องการของคุณเอง
ตามกฎของหัวแม่มือก็เป็นไปได้ที่จะ
- สัมพันธ์ระดับการรับส่งข้อมูลโดยตรงกับความต้องการของ CPU ของคุณ
- เชื่อมโยงข้อกำหนด CPU ของคุณโดยตรงกับข้อกำหนด RAM
- เชื่อมโยงพื้นที่เก็บข้อมูล MySQL ของคุณโดยตรงกับข้อกำหนด RAM
การเลือกซีพียู
เริ่มแรกด้วยการคำนวณขนาดการรับส่งข้อมูลของคุณ
- Magento demo store มาตรฐานสามารถส่งมอบได้ 230 แห่งต่อ GHz ต่อชั่วโมง
- เว็บสโตร์ทั่วไปที่มีกิจกรรมผู้ใช้ของผู้ดูแลระบบกิจกรรมการพัฒนาการเพิ่มหรือการลบผลิตภัณฑ์สามารถเห็นการลดลงประมาณ 100% ถึง 115 ที่ไม่ซ้ำต่อ GHz ต่อชั่วโมง
- ร้านค้าที่มีเทมเพลตที่สร้างขึ้นไม่ดี / หนักสามารถลดจำนวนลงอีก 100-200% เป็น 50 แห่งต่อ GHz ต่อชั่วโมง
เมื่อใช้ตัวเลขเหล่านี้คุณจะสามารถทำงานได้ตามที่คุณต้องการในแง่ของทรัพยากร CPU
เช่น. หากคุณมีผู้เข้าชมที่ไม่ซ้ำกัน 4,025 คนต่อวันคุณต้องใช้ทรัพยากร CPU รวม 28GHz (เช่น 8 Cores @ 3.5GHz หรือ 12 Cores @ 2.3GHz)
รายละเอียดที่สำคัญอื่น ๆ คือความเร็วของ CPU มันเป็นไปได้ที่จะมี:
- เวลาในการโหลดหน้าเว็บช้าและรองรับการทำงานพร้อมกันในระดับต่ำ (CPU ความเร็วสัญญาณนาฬิกาต่ำ (GHz), ไม่กี่แกน)
- เวลาโหลดหน้าเว็บที่รวดเร็ว แต่รองรับการทำงานพร้อมกันในระดับต่ำ (CPU ความเร็วสัญญาณนาฬิกาสูง (GHz), ไม่กี่คอร์)
- เวลาโหลดหน้าเว็บช้า แต่รองรับการทำงานพร้อมกันสูง (CPU ความเร็วสัญญาณนาฬิกาต่ำ (GHz), คอร์จำนวนมาก)
- เวลาในการโหลดหน้าเว็บอย่างรวดเร็วและรองรับการทำงานพร้อมกันสูง (CPU ความเร็วสัญญาณนาฬิกาสูง (GHz), คอร์จำนวนมาก)
การเลือกแรม
สำหรับเซิร์ฟเวอร์แบบสแตนด์อโลน (การกำหนดค่าที่ดีที่สุดสำหรับ Magento) กฎที่นี่คือ 2GB RAM / CPU Core ดังนั้นหากคุณมี 8 คอร์ดังนั้น RAM 16GB ควรเป็นค่าต่ำสุด
ในการหาสิ่งที่คุณต้องการเพิ่มเติมคุณต้องคำนึงถึงขนาดของแคตตาล็อกของคุณ การทำเช่นนี้เป็นเรื่องง่ายโดยเพิ่มจำนวนการดูร้านค้าของคุณเทียบกับขนาดแคตตาล็อกทั้งหมด
เช่น. ในกรณีของคุณมุมมอง 1 ร้านค้า * 10,000 ผลิตภัณฑ์ = 10,000
คำแนะนำของเราคือ
<1,000 = 8GB RAM
<50,000 = 16GB RAM
<100,000 = 32GB RAM
<100,000 = 32GB RAM
<250,000 = 48GB RAM
<500,000 = 64GB RAM
<750,000 = 96GB RAM
>999,999 = 128GB RAM
คุณต้องการใช้ตัวเลขสองตัวที่สูงขึ้น (เช่นจากอัตราส่วน CPU Core: RAM และข้อกำหนดแคตตาล็อก) หรือการผสมผสานที่ลงตัวของทั้งสอง
การเลือก HDD
ช่วยให้ชัดเจนขึ้นสำหรับร้านค้า Magento โดยเฉลี่ย (เช่น <50k ผู้เข้าชม / วันที่ไม่ซ้ำกัน) วีโอไอพีไม่ได้ถูกผูกมัดโดย I / O - SSD จะไม่ทำให้ร้านวีโอไอพีของคุณเร็วขึ้น มันจะไม่ปรับปรุงการทำงานพร้อมกันและจะไม่ปรับปรุง TTFB ในทำนองเดียวกันการใช้ระดับ RAID แบบสไทรพ์ (เช่น RAID10) จะไม่ให้ประโยชน์เช่นกันเนื่องจากไฟล์เกือบทุกไฟล์บนดิสก์จะเล็กกว่าขนาดแถบ แต่อย่างใดดังนั้นจึงใช้ดิสก์เพียงแผ่นเดียวเท่านั้น
การจัดเก็บเวลาเพียงอย่างเดียวคือคอขวดที่อยู่ในบริการที่ต่อเนื่อง (เช่น cloud / VPS)
อย่างไรก็ตามมีข้อได้เปรียบที่แน่นอนในการ I / O ที่รวดเร็วกว่าการดำเนินการจัดเก็บ ด้วย SSD การทำงานของไฟล์ (เช่นสถานะ Git / SVN การสำรอง / กู้คืนการคัดลอกไดเรกทอรี ฯลฯ ) จะเร็วขึ้นอย่างมาก ชีวิตนักพัฒนาของคุณจะง่ายขึ้นอย่างมาก (ด้วยงานประจำที่เร็วกว่ามาก)
โปรดทราบว่าดิสก์ไดรฟ์บางตัวเท่านั้นที่ถูกสร้างขึ้น
- SSD ราคาถูก / ระดับเดสก์ท็อปจะทำงานช้ากว่า HDD ทั่วไป
- HDD ราคาถูก / ระดับเดสก์ท็อปจะทำงานช้ากว่าฮาร์ดดิสก์แบบองค์กร
- HDD ราคาถูก / เกรดเดสก์ท็อปจะมีอัตรา NRE ต่ำ (ปกติคือ 10 ^ 14) เมื่อเทียบกับดิสก์องค์กร (ปกติคือ 10 ^ 16)
ดังนั้นโปรดเลือกดิสก์ไดรฟ์ที่สมควรได้รับในเซิร์ฟเวอร์นั่นคือ Intel DC S3700
การเลือกความจุเป็นเรื่องง่ายคุณแค่ต้องมีสองคำสั่ง
สำหรับรูทเอกสาร Magento
cd /path/to/magento/installation
du -hsL . \
--exclude="/var/log" \
--exclude="/var/session" \
--exclude="/var/cache" \
--exclude="/var/full_page_cache" \
--exclude="/var/report" \
--exclude="/var/tmp" \
--exclude="/includes/src/"
สำหรับฐานข้อมูล MySQL
SELECT
IFNULL(B.engine,'Total') "Storage Engine", CONCAT(LPAD(REPLACE(FORMAT(B.DSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Data Size", CONCAT(LPAD(REPLACE(FORMAT(B.ISize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Index Size", CONCAT(LPAD(REPLACE(FORMAT(B.TSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Table Size" FROM (SELECT engine,SUM(data_length) DSize,SUM(index_length) ISize,SUM(data_length+index_length) TSize
FROM information_schema.tables
WHERE table_schema NOT IN ('mysql','information_schema','performance_schema')
AND engine IS NOT NULL
GROUP BY engine
WITH ROLLUP) B,(SELECT 3 pw) A
ORDER BY TSize;
.
ใครที่จะเลือก
นั่นขึ้นอยู่กับคุณ ฉันไม่สามารถให้คำแนะนำ [แม้ว่ามันจะชัดเจน :)] - แต่คุณสามารถแสดงความคิดเห็นของคุณเองได้อย่างแน่นอน
- หากพวกเขามีฮาร์ดแวร์ให้ตรงกับความต้องการขั้นต่ำของคุณ
- หากพวกเขามีมรดก / ชื่อเสียงที่มั่นคงใน Magento (เช่นมีส่วนร่วมในเว็บไซต์เช่นนี้และแสดงให้เห็นถึงประสบการณ์จริง)
- หากพวกเขาสามารถให้การสาธิตร้านค้าของคุณบนโฮสติ้งของพวกเขา (เช่นเพื่อให้คุณสามารถดูว่ามันทำงานอย่างไร)
- หากพวกเขาสามารถตอบคำถามที่เกี่ยวข้องกับวีโอไอพีของคุณได้ทั้งหมด (เช่นลองทดสอบพวกเขาด้วยคำถามที่คุณเคยมีในอดีต
- หากราคาของพวกเขาตรงกับงบประมาณของคุณ
- ตรวจสอบให้แน่ใจว่าการสนับสนุนของพวกเขาตรงกับความคาดหวังของคุณ (เช่นคุณเต็มใจที่จะทำทุกอย่างด้วยตัวเองก่อนที่จะติดต่อฝ่ายสนับสนุนหรือคุณมีความคาดหวังว่าพวกเขาสามารถแก้ไขปัญหาวีโอไอพีของคุณในนามของคุณ)
- ตรวจสอบให้แน่ใจว่าขอบเขตของงานรวมตรงกับความต้องการของคุณ (เช่นการจัดการอย่างเต็มที่โลหะเปลือย ฯลฯ )
- หากโซลูชันสามารถปรับขนาดได้ (เช่นเป็นแพลตฟอร์มเซิร์ฟเวอร์เดียว - สามารถปรับให้เป็นโซลูชันแบบเซิร์ฟเวอร์หลายเครื่องได้)
- หากโซลูชันมีซอฟต์แวร์ทั้งหมดที่คุณต้องการสำหรับร้านค้า Magento ของคุณ (เช่น ElasticSearch / Sphinx / SOLR, Redis / Memcache, วานิช ฯลฯ )
มีบางอย่างที่จะเพิ่มที่นี่คุณจะได้รับโฮสต์สองประเภท
- มีการจัดการ (เช่นที่เซิร์ฟเวอร์มีการตั้งค่าและดูแลอย่างสมบูรณ์)
- ไม่มีการจัดการ (เช่นที่คุณตั้งค่าเซิร์ฟเวอร์ทั้งหมดด้วยตนเอง)
สิ่งที่เหมาะสมที่สุดสำหรับคุณขึ้นอยู่กับว่าทักษะของคุณคืออะไร ในความเห็นของฉันนักพัฒนาไม่ใช่ผู้ดูแลระบบ - เพียงเพราะคุณสามารถเรียกใช้apt-get install nginx
- มันไม่ได้ทำให้คุณดูแลระบบที่มีประสบการณ์ ไม่เช่นนั้นเจ้าของร้านค้าใด ๆ ที่สามารถใช้ Magento Connect สามารถจัดอันดับตัวเองเป็นผู้พัฒนา!
การทำความเข้าใจบทบาทของคุณ (และข้อ จำกัด ) ในฐานะนักพัฒนาซอฟต์แวร์และให้ผู้ที่มีประสบการณ์ในการจัดการเซิร์ฟเวอร์มีค่ามาก ทุกคนสามารถติดตั้งชุดของแพคเกจ แต่ปรับแต่งการกำหนดค่าซอฟต์แวร์ให้มั่นใจว่ามีเสถียรภาพไม่มีข้อผิดพลาดปลอดภัยและประสิทธิภาพสูงเป็นสิ่งที่แตกต่างกัน
ฉันจะเท่านั้นที่เคยแนะนำเส้นทาง DIY ทั้งคนที่มีขนาดใหญ่ปริมาณของประสบการณ์การกำหนดค่าเซิร์ฟเวอร์วีโอไอพีที่ได้นำไปใช้พันเซิร์ฟเวอร์ก่อนที่จะมีการกำหนดค่าที่รู้จักกันผ่านการทดสอบและมีเสถียรภาพ มิฉะนั้นไปกับโฮสต์วีโอไอพีที่มีการจัดการที่รู้ว่าพวกเขากำลังทำอะไรอยู่และอนุญาตให้คุณทำงานของคุณได้อย่างต่อเนื่อง
แหล่งที่มา: