วันแรกออนไลน์: วิธีที่จะไม่ฆ่าเว็บไซต์ของคุณ


14

สมมติว่าคุณมีไซต์ใหม่ที่แปลกใหม่พร้อมข้อมูลมากมาย (เช่นภาพขนาดใหญ่) และคุณกำลังจะทำให้มันออนไลน์ หากคุณทำการประชาสัมพันธ์ "มากเกินไป" ในช่วงวันแรกไซต์จะมีการร้องขอมากมาย

ฉันจะลดความเสี่ยงนี้ได้อย่างไร

ฉันคิด

  • จะมีชีวิตอยู่อย่างค่อยเป็นค่อยไปเช่น SO และ SF: เบต้า "ส่วนตัว" เบต้าสาธารณะสาธารณะ
  • อนุญาต X สัมพันธ์ เซสชันพร้อมกันดังนั้นผู้ใช้ที่เชื่อมต่อยังคงมีประสบการณ์ที่ดีของไซต์และผู้อื่นมีข้อความขอโทษที่ดี

ฉันไม่สามารถ:

  • ซื้อเซิร์ฟเวอร์มากขึ้นเพราะหลังจากวันแรกไซต์จะมีปริมาณการใช้งานน้อยลง :)

6
ใน 15 ปีของการพัฒนาและปล่อยเว็บไซต์ นี่คือสิ่งที่ทุกคนคิดว่า ... นำไซต์ใหม่มาสู่เราและบูม! แทบจะไม่เคยเกิดขึ้น โดยทั่วไปแล้วสิ่งที่ตรงกันข้ามที่คุณได้รับน้อยกว่าที่คุณคาดไว้ แต่เดี๋ยวก่อนผู้ใช้จำนวนมากเกินไปเป็นปัญหาที่ดีที่จะมี;)
30411 Chad Grant

1
ฉันมีปัญหานั้นและมันไม่ได้เป็น verry pleasent จุดที่จะ ...
กาเบรียลซาโลมอน

คำตอบ:


11
  1. แคชมากเท่าที่คุณสามารถ หน้าใด ๆ ที่สร้างขึ้นแบบไดนามิกควรเก็บไว้เพื่อที่ผู้ใช้จะได้รับรุ่นคงที่ ในองค์ประกอบของหน้าเว็บที่สอบถาม db ควรถูกแคชไว้ด้วย
  2. ลองใช้บริการภายนอกเช่น Amazon S3 เพื่อให้บริการรูปภาพและมัลติมีเดีย (หรือเตรียมให้พร้อมใช้งานหากไซต์ได้รับการเข้าชมจำนวนมากทันทีทันใด)

การไปใช้ชีวิตอย่างค่อยเป็นค่อยไปสามารถทำงานให้กับ SOF และ SF ได้เพราะพวกเขามีการประชาสัมพันธ์และความต้องการในตัวอยู่แล้วเนื่องจากความนิยมในบล็อกของ Jeff และ Joel หากคุณไม่มีฐานข้อมูลผู้ใช้ที่รับประกันใกล้เคียงแบบนั้นการมีชีวิตอยู่อย่างค่อยเป็นค่อยไปอาจเป็นอันตรายถึงชีวิต

ฉันจะหลีกเลี่ยงการ จำกัด โดยเซสชันที่เกิดขึ้นพร้อมกันเนื่องจากเป็นการยากที่จะกำหนดจุดสิ้นสุดของเซสชันที่เกิดจากการไม่ทำงาน หากผู้ใช้ออกจากระบบเป็นเวลา 15 นาทีและพยายามโหลดหน้าเว็บซ้ำเพื่อรับข้อความแสดงข้อผิดพลาด - คุณเพิ่งสูญเสียผู้ใช้


ฉันหมายถึงเซสชัน แต่นิ้วของฉันหมายถึงการเชื่อมต่อ การแก้ไข
mathieu

5

การวางแผนมีมากแค่ไหนในโมเดลข้อมูลของคุณ? คุณได้ออกแบบ schema ที่จะช่วยให้คุณเพิ่มปริมาณการสืบค้นโดยไม่มีการเรียงลำดับราคาแพงคอลัมน์แบบไบนารีหรือการรวมที่ซับซ้อนหรือไม่ คุณได้ปรับแบ็กเอนด์ฐานข้อมูลของคุณ (สมมติว่าคุณมี)

คุณให้บริการ 'ภาพใหญ่' ของคุณอย่างไร คุณสามารถแยกสิ่งนั้นออกเป็นกระบวนการเว็บเซิร์ฟเวอร์ที่แยกจากกันได้แม้จะเป็นโดเมนแยกต่างหาก

คุณโหลดการทดสอบระบบของคุณแล้วหรือยัง? เครื่องมืออย่าง ApacheBench และ Siege นั้นมีค่ามาก

การกำหนดค่าทั้งหมดของคุณอยู่ใน svn หรือไม่? การปรับใช้ของคุณเป็นแบบอัตโนมัติหรือไม่ คุณจะดีใจที่คุณต้องนำใบสมัครของเราไปใช้กับเซิร์ฟเวอร์ที่สอง


ฉันเห็นด้วยกับการทดสอบโหลดเรามีเว็บไซต์ที่เราข้ามการทดสอบเพราะเราอยู่ในกำหนดเวลาที่แน่นและที่กลับมาและตูดของเรา และต้องทำการแก้ไขบางอย่างในขณะที่ไซต์มีชีวิตอยู่เพื่อให้เซิร์ฟเวอร์โหลดลงสู่สถานะที่จัดการได้ (เราตี 200% ของการโหลดซีพียูด้วยเซิร์ฟเวอร์เฉพาะ 4 CPU)
Gabriel Solomon

1

บางครั้งระบบเชิญอาจเป็นวิธีที่ดีในการควบคุมผู้ใช้งานของเว็บไซต์ ส่งคำเชิญจำนวนหนึ่งในตอนเริ่มต้นเพื่อให้ไซต์ไม่จม จากนั้นให้ผู้ใช้แต่ละคนได้รับคำเชิญให้ส่งต่อให้ผู้อื่นสร้างจำนวนผู้ใช้บนไซต์อย่างช้า ๆ ด้วยวิธีนี้คุณจะไม่ได้รับผู้คนจำนวนมากเข้าชมเว็บไซต์ในตอนเริ่มต้นและคุณจะไม่ได้รับการเข้าชมมากที่สุด

ข้อเสียของหลักสูตรคือคุณอาจหันไปใช้ผู้ใช้จำนวนมากในตอนเริ่มต้นที่ไม่มีคำเชิญและผู้ที่อาจไม่กลับมาในภายหลัง ถ้าคุณไม่มีเว็บไซต์ที่ดีจริงๆที่ผู้คนตื่นเต้นมากที่จะใช้นี่อาจเป็นการย้ายที่ไม่ดี มันขึ้นอยู่กับเว็บไซต์จริงๆ นอกจากนี้คุณต้องมีเวลาในการพัฒนาเพิ่มเติมเพื่อเพิ่มระบบการเชิญ


1

ฉันต้องแน่ใจว่าคุณมีโครงสร้างพื้นฐานการตรวจสอบที่แข็งแกร่งก่อนที่จะเปิดตัว คุณต้องมีข้อมูลในการตัดสินใจของคุณซึ่งหมายถึงการวัดโหลดซีพียูในเซิร์ฟเวอร์ตรวจสอบว่าโหลดของคุณกระจายไปทั่วกล่องอย่างสม่ำเสมอและหากมีสิ่งใดละลายลงคุณก็รู้ว่ามันคืออะไร

การทราบว่าปัญหาอยู่ที่ใดจะช่วยลดเวลาในการตอบสนองได้อย่างมาก ฉันเคยเห็นไซต์จำนวนมากเกินไปที่เปิดตัวโดยไม่ได้ตรวจสอบใด ๆ ด้วยความตั้งใจที่จะตั้งขึ้นในภายหลัง ... หลังจากเกิดไฟไหม้ นี่เป็นสิ่งที่ผิดอย่างยิ่ง


1

คุณอาจต้องการตรวจสอบการโฮสต์เนื้อหาคงที่เช่น Amazon S3 มันอาจจะคุ้มค่าขึ้นอยู่กับแอปพลิเคชั่นของคุณที่จะคลาวด์บางอย่าง (เท่าที่ฉันเกลียด buzzword) โดยใช้ Amazon EC2


0

ผู้ให้บริการโฮสติ้งบางรายอนุญาตให้คุณทดสอบเซิร์ฟเวอร์ส่วนตัวที่มีความจุสูงสุดได้สักพักจากนั้นจึงตัดสินใจใช้ความจุที่เหมาะสมหลังจากช่วงทดลองใช้งาน

DreamHost เป็นตัวอย่างหนึ่ง:
http://www.dreamhost.com/hosting-vps.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.