ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ

เริ่มโดย ichioini, 30 กรกฎาคม 2022, 03:29:04

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

ichioini

ปกติผมเขียนเวปด้วย PHP อยู่แล้ว บอกก่อนเลยว่าผมก็งูๆปลาๆใช้วิธี Copy Paste โค้ดคนอื่นมาผสมกัน ก็มันไม่เคยมีปัญหามาก่อนนะครับ เพราะคนเข้าเวปผมหลักร้อยคนต่อวันเอง (อันนี้ทำ Blog ส่วนตัว)

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

ทีนี้ว่าจะมาเขียนเวปเอง(เพราะมันปรับแต่งที่ต้องการได้ตามใจมากกว่า) ผมลองประมวลผลดู 1 การเปิดเวปแต่ละครั้งมันใช้เวลาประมวลผลราวๆ 0.002 - 0.004 วินาที คือถ้าคิดแบบถึกๆถ้าคนเข้าทีละ 4 พันคนก็จะใช้เวลาโหลดหน้าเวป 8 วินาทีเลยหรอครับ

อยากรู้ว่าคนเข้าพร้อมๆกันมันเริ่มนับ และจบตรงไหนหรอครับ
- เริ่มนับเวลาประมวลผลโค้ด php ตั้งแต่บรรทัดแรกจนถึงบรรทัดสุดท้ายแล้วจบ
- เริ่มตั้งแต่คน 1 คนเข้าเวป อยู่ในเวปและออกไป (เวปไม่มีการใช้ session ใช้แต่ cookie อย่างเดียว)

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

ichioini

ผมหาข้อมูลดูแล้ว ทางออกอีกทางคือทำ cache ไฟล์ แต่เบื้องต้นอยากรู้ก่อนว่าเวลามันนับว่ารองรับคนเข้าพร้อมๆกันมันเริ่มที่ตรงไหนน่ะครับ



ivar

เท่าที่ทราบต้องปรับแต่งเว็บไซต์ค่ะ (Tuning) เรื่อง cache ก็ส่วนหนึ่ง
[direct=https://www.binance.com/th/register?ref=YA8W3LSJ]เทรด Bitcoin ที่ Binance พร้อมรับโบนัส 10%
[/direct]
[direct=https://www.hostneverdie.com/support/aff.php?aff=3918][/direct]

fremznginx

ส่วนมากจะตายกันที่ Database ครับ เพราะงั้น query ต้องเขียนดี ๆ และทำ cache การ query ด้วย
คนเข้าเยอะหมายถึง request เยอะ ๆ ครับ 1 คนอาจจะหลาย request ก็ได้
รับทำเว็บไซต์ทุกรูปแบบ
รับ Tune Hosting ให้รองรับคนเข้าเยอะ ๆ


BOS

นับเป็น request ครับ น่าจะตรงกับข้อ1
วิธีจัดการน่าจะประมาณ query ข้อมูลแล้วเก็บไว้ใน cache แบบไม่ต้อง query ข้อมูลชุดเดิมซ้ำๆ

แต่ก่อนผมก็ปวดหัวกับเรื่องแนวๆนี้มาก เพราะมันมีหลายตัวแปรเหลือเกิน
ในที่สุดก็มาจบที่ blogspot บอกเลยว่าลดภาระ และสิ้นเปลืองทรัพยากรน้อยลงมากๆครับ



aieaie1234

ห้ามลิ้งพนัน

Predator


arafarn12

คน 1 คน โหลดหน้าเว็บ 0.002 - 0.004 วินาที ถ้าเข้าพร้อมกัน 4000 คน ก็อาจจะโหลดหน้าเว็บคนละ 0.002 - 0.004 วินาทีเหมือนเดิมครับ มันแยกประมวลผลกัน
ถ้าอยากให้รองรับคนเข้าพร้อมกันเยอะๆ มันมีหลายอย่างมากๆที่ทำได้ เช่นอาจจะทำ cache ปรับ performance โค้ด หรือ mysql หรือจูนตัว web server ให้รองรับการประมวลผลพร้อมกันเยอะๆ

ถ้าตอนนี้เข้าหลักร้อยต่อวันยังไม่ต้องกังวลหรอกครับ
เมพ เมพ เมพ บร๊ะมูลใหมล่ะ ?
ERROR: เขียนอะไรบ้างซิ



TG_Min

ตอบคร่าวๆ นะครับ

มันเริ่มนับตั้งแต่คนเข้าเว็บแล้ว เช่น เริ่มจาก .htacess, robot, index และไฟล์อื่นๆ ที่ถูกเรียกใช้ในไฟล์ index (ถ้ามีประกาศไว้) จนจบ ตั้งแต่ <html>...</html>

ทีนี้ ที่มันนาน เพราะการเรียกใช้คำสั่ง ไปดึงตรงนู้นตรงนี้ ลองดูว่า ถ้ามีคนร้อยคน ดึงข้อมูลเดียวกัน ถ้าไม่มีระบบแคช มันจะมีการรอคิว แต่คอมฯ มันเร็วมาก คิวที่มีเลยไม่ได้กระทบจนเห็นชัด
แต่พอพันคนหมื่นคน ตรงนี้แหละจะเริ่มเห็นชัด

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

ระบบแคช ถ้าทำไม่เป็น มันจะเต็มเร็วมาก และมันไม่ใช่น้อยๆ เปลี่ยนจุดเพียงนิดเดียว เช่น index.html?a หรือ index.html?b หน้าเดียวกันแต่ข้อมูลเรียกคนละตัว มันจะแคช 2 รอบ (แคชตาม url)

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

server ก็ตัวนึง ที่มีข้อจำกัด ถ้ามีคำสั่งมา แล้วช้า จึงเกิดปัญหา โหลดนาน (server ปกติมันจะแชร์กันหลายเว็บในตัวเดียว หารค่าใช้จ่ายกัน)
อยากใช้คนเดียวก็ต้องจ่ายแพงขึ้น

ในประเทศ ต่างประเทศ ก็มีเรื่องของระยะทางเข้ามาเกี่ยวด้วย เขาเลยมาตั้ง server ในจุดหลักๆ เหมือนเป็น hub เพื่อคนในโซนนั้นๆ จะได้เรียกใช้ได้เร็ว ไม่ต้องวิ่งไปไกล

อีกเยอะแยะตะแป๊ะขายไก่
[direct=https://www.kasetorganic.com/shop/]Shop[/direct] [direct=https://www.dek-d.com/member/profile/beautisora/blog]บล็อกของ Sora[/direct] [direct=https://krabi.vwander.com]เที่ยวกระบี่ไปได้ทุกวัน[/direct]