ใครบ้างมีรูป ballpark ของ VPS ram (ไม่ระเบิด) ฉันจะต้องมี apache ด้วย wordpress และ subversion รวมทั้งอินสแตนซ์ MySQL หรือไม่
Apache จะโฮสต์ไซต์สองแห่งและ SSL MySQL จะมีเพียงฐานข้อมูล Wordpress ไซต์เหล่านี้มีอัตราการเข้าชมต่ำน้อยกว่า 1k ต่อวัน
ใครบ้างมีรูป ballpark ของ VPS ram (ไม่ระเบิด) ฉันจะต้องมี apache ด้วย wordpress และ subversion รวมทั้งอินสแตนซ์ MySQL หรือไม่
Apache จะโฮสต์ไซต์สองแห่งและ SSL MySQL จะมีเพียงฐานข้อมูล Wordpress ไซต์เหล่านี้มีอัตราการเข้าชมต่ำน้อยกว่า 1k ต่อวัน
คำตอบ:
โปรดจำไว้ว่าผู้ปฏิบัติงาน apache แต่ละคนจะใช้เวลาประมาณ 20-25MB ดังนั้นหากผู้ใช้ 1k ครั้งจะเว้นระยะเวลาเท่ากันใน 8 ชั่วโมงต่อวันคุณสามารถคิดได้ว่าจะให้บริการเพียง 0.03 คำขอต่อวินาทีเท่านั้น
สมมติว่าคุณมีการรับส่งข้อมูลที่เข้มข้นในเวลาเพียง 1 ชั่วโมงต่อวัน (ไม่ใช่แน่นอน) คุณควรจะให้บริการประมาณ 0.28 คำขอต่อวินาที
ปัญหาอื่นคือจำนวนหน่วยความจำที่คุณได้รับจากฐานข้อมูลนั้นเป็นเรื่องง่ายที่จะรู้และเป็นค่าใช้จ่ายคงที่
ในกรณีที่เลวร้ายที่สุดคุณจะต้องถ่ายโอนฐานข้อมูลทั้งหมด (โอ้พระเจ้า! refactor คุณ SQL ในกรณีนี้! :)) .. .. ดังนั้นสองเท่าของจำนวนก่อนหน้า ..
คำตอบสั้น ๆ คือ (IMHO) 128MB จะพอเพียงมากมาย เซิร์ฟเวอร์ของคุณจะว่างและหน่วยความจำจะว่างเป็นเวลานานเนื่องจากการรับส่งข้อมูลที่คุณจินตนาการ
ฉันมี 20 โดเมนใน VPS ที่มี 256 MB ตั้งแต่ 3 ปีที่แล้วก็โอเค ... และความนิยมรวมอยู่ที่ประมาณ 1,500-2,000 ...
ตกลงความทรงจำในปัจจุบันราคาถูก แต่พวกคุณรู้หรือไม่ว่ากิกะไบต์หนึ่งกิกะไบต์มีเท่าไหร่?
PS: ฉันกำลังพูดถึงระบบ linux แน่นอนไม่เกี่ยวกับ OS ที่ใช้ 4GB สำหรับ gui เท่านั้น :)
สำหรับการใช้งานที่มีอัตราการใช้งานต่ำที่คุณกำลังอธิบายคุณควรใช้แผนขนาดเล็ก (256MB - 384MB) เมื่อ Apache และ MySQL ได้รับการติดตั้งการตั้งค่าเริ่มต้นจะถือว่าพวกเขากำลังทำงานกับ RAM ที่มีให้ซึ่งอาจทำให้เกิดปัญหาได้ ใช้สิ่งต่อไปนี้เป็นจุดเริ่มต้นที่ดีและปรับตามความจำเป็น:
ในไฟล์กำหนดค่า Apache 2 ของคุณ (โดยทั่วไปจะอยู่ที่ /etc/apache2/apache2.conf หรือ /etc/apache2/httpd.conf):
StartServers 1
MinSpareServers 3
MaxSpareServers 6
ServerLimit 24
MaxClients 24
MaxRequestsPerChild 3000
ในไฟล์กำหนดค่า MySQL ของคุณ (โดยทั่วไปจะอยู่ใน /etc/mysql/my.cnf):
key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K
นอกจากนี้หากคุณไม่ใช้ตาราง InnoDB คุณควรปิดใช้งานการสนับสนุน InnoDB โดยเพิ่มบรรทัดต่อไปนี้:
skip-innodb
ฉันมีปัญหากับฉันที่ RAM 512MB จนกว่าฉันจะเปลี่ยนเป็น FastCGI นั่นทำให้ประสิทธิภาพดีขึ้นมาก ฉันมี 30MB ฟรี (ไม่นับแคชแน่นอน) จนถึงตอนนี้และลงเอยด้วยฟรีมากกว่า 100MB
ระยะของคุณอาจแตกต่างกันไปขึ้นอยู่กับปริมาณการใช้งานไซต์ของคุณ และเมื่อทราฟฟิกเริ่มขึ้นคุณสามารถเปลี่ยนเป็น nginx
ในการซื้อความสบายฉันได้เพิ่มเป็น 1GB
BTW ฉันเป็นเจ้าภาพที่prgmr.comและฉันยังไม่เคยเห็นใครสัมผัสราคาของพวกเขา
ฉันกำลังเรียกใช้การตั้งค่าที่คล้ายกันบน VPS ที่มี RAM 256 MB แต่ใช้ lighttpd แทน Apache ฉันลอง Apache ก่อน แต่มันมากเกินไปสำหรับ 256 MB VPS หากคุณต้องการใช้ Apache รหัสว่าคุณสามารถใช้ RAM 512 MB ได้
ขึ้นอยู่กับว่าคุณใช้โฮสติ้ง VPS กับใครคุณสามารถเริ่มต้นด้วย VPS ที่มีขนาดเล็กลงแล้วเพิ่มขนาดหากต้องการโดยไม่ต้องกำหนดค่าเซิร์ฟเวอร์ใหม่
คุณควรใช้งานได้ดีกับ 1GB แต่ใช้งาน 2GB หากเป็นไปได้มันเป็นขั้นตอนการปฏิบัติงานที่สำคัญสำหรับระบบปฏิบัติการที่ทันสมัยที่สุด
ฉันใช้ nginx + php-fastcgi แทน Apache แต่โหลดแอพพลิเคชั่นที่คล้ายกันมาก ฉันใช้ svn + ssh สำหรับการเข้าถึงการโค่นล้มดังนั้นจึงไม่มีกระบวนการ svnserve ทำงานยกเว้นเมื่อฉันเข้าถึงที่เก็บ ทั้งหมดนี้ทำงานบน Ubuntu 8 LTS
ตอนนี้ฉันทำงานที่ 174mB ที่ใช้ 256mB และเว็บไซต์ค่อนข้างตอบสนอง (เวลาตอบสนองโดยเฉลี่ย 500ms สำหรับมุมมอง Wordpress)
total used free shared buffers cached
Mem: 256 252 3 0 22 56
-/+ buffers/cache: 174 81
Swap: 511 12 499
ฉันขอแนะนำให้ดูที่เว็บเซิร์ฟเวอร์ส่วนหน้าที่มีน้ำหนักเบาเช่น nginx หรือ lighttpd แทนที่จะเป็น Apache + mod_php แม้แต่ Apache + mod_fastcgi ที่ใช้พร็อกซี php-fastc ก็จะใช้หน่วยความจำน้อยลง
หากคุณไปตามเส้นทาง Apache ทางเดินของฉันบอกว่า 512mB น่าจะเป็นเรื่องหลอกลวง หน่วยความจำ 1 หรือ 2gB ดูเหมือนว่ามีจำนวนมากเกินไปโดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่าผู้ให้บริการ VPS ส่วนใหญ่ปรับต้นทุนได้อย่างไรเมื่อคุณได้รับการกำหนดค่าที่มากขึ้น
ฉันดิ้นรนกับสิ่งนี้มานานแล้ว
การตั้งค่าของ AlbertT ทำงานได้อย่างยอดเยี่ยม การตั้งค่า mysql สร้างความแตกต่างที่ชัดเจนและตอนนี้ไซต์ดูดีมาก http://laterboltz.com
ในไฟล์กำหนดค่า MySQL ของคุณ (โดยทั่วไปจะอยู่ใน /etc/mysql/my.cnf):
key_buffer = 16K max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
นอกจากนี้หากคุณไม่ใช้ตาราง InnoDB คุณควรปิดใช้งานการสนับสนุน InnoDB โดยเพิ่มบรรทัดต่อไปนี้:
ข้าม InnoDB
apache2.conf
ฉันมีหลายของเส้นเหล่านี้กล่าวถึงใน เปลี่ยนพวกเขาทั้งหมดหรือไม่ พวกเขาจะมีป้ายกำกับ:prefork MPM
,worker MPM
,event MPM