ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: ichioini ที่ 30 กรกฎาคม 2022, 03:29:04



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

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

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

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

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


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: ichioini ที่ 30 กรกฎาคม 2022, 03:30:07
ผมหาข้อมูลดูแล้ว ทางออกอีกทางคือทำ cache ไฟล์ แต่เบื้องต้นอยากรู้ก่อนว่าเวลามันนับว่ารองรับคนเข้าพร้อมๆกันมันเริ่มที่ตรงไหนน่ะครับ


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: Best789. ที่ 30 กรกฎาคม 2022, 05:48:11
ดันช่วยครับ  :wanwan003: :wanwan003:


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: CGN-Xen ที่ 30 กรกฎาคม 2022, 06:38:41
ดัน


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: ivar ที่ 30 กรกฎาคม 2022, 12:41:08
เท่าที่ทราบต้องปรับแต่งเว็บไซต์ค่ะ (Tuning) เรื่อง cache ก็ส่วนหนึ่ง


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: fremznginx ที่ 30 กรกฎาคม 2022, 16:20:57
ส่วนมากจะตายกันที่ Database ครับ เพราะงั้น query ต้องเขียนดี ๆ และทำ cache การ query ด้วย
คนเข้าเยอะหมายถึง request เยอะ ๆ ครับ 1 คนอาจจะหลาย request ก็ได้


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: ชื่อพี หน้าตาดีมาก ที่ 30 กรกฎาคม 2022, 16:59:06
ตามครับผม  :wanwan017:


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: BOS ที่ 30 กรกฎาคม 2022, 18:43:01
นับเป็น request ครับ น่าจะตรงกับข้อ1
วิธีจัดการน่าจะประมาณ query ข้อมูลแล้วเก็บไว้ใน cache แบบไม่ต้อง query ข้อมูลชุดเดิมซ้ำๆ

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


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: forexduck ที่ 30 กรกฎาคม 2022, 20:18:45
โอ๊ววว หักมุม


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: tamuraki ที่ 30 กรกฎาคม 2022, 22:31:15
ตามมาเก็บความรู้ครับ  :wanwan017: :wanwan044:


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: aieaie1234 ที่ 01 สิงหาคม 2022, 02:51:31
อยากทราบเหมือนกันค่ะ :-X


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: Predator ที่ 01 สิงหาคม 2022, 13:34:29
คนเข้า4พันคนใน1นาทีนี่ใช้ VPS สเปคอะไรหรอครับ


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

ถ้าตอนนี้เข้าหลักร้อยต่อวันยังไม่ต้องกังวลหรอกครับ


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: ชื่อพี หน้าตาดีมาก ที่ 01 สิงหาคม 2022, 14:24:12
ดันช่วยครับผม


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: Mickeypig ที่ 01 สิงหาคม 2022, 14:29:04
ดันช่วยครับ  :wanwan017:


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: TG_Min ที่ 02 สิงหาคม 2022, 17:27:58
ตอบคร่าวๆ นะครับ

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

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

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

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

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

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

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

อีกเยอะแยะตะแป๊ะขายไก่


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: FatCat6 ที่ 02 สิงหาคม 2022, 17:57:31
มาอ่านเอาความรู้ครับ


หัวข้อ: Re: ทำเวปที่รองรับคนเข้าพร้อมๆกัน หมายความว่ายังไงหรอครับ
เริ่มหัวข้อโดย: Zionistic ที่ 02 สิงหาคม 2022, 18:02:57
ดันครับ