ขอบคุณครับ สำหรับคำแนะนำ
การเก็บ query ของ sql ไว้ก็ทำได้เช่นกัน แต่ผมมองว่าหากเราเก็บ html output หลังจากประมวลผล query นั้นแล้วย่อมเร็วกว่าและลดการทำงานที่ซ้ำซ้อนลงไปได้มากกว่าครับ
มีข้อดีข้อเสียต่างกันครับ ทำแบบนั้นใช้ CPU Process เพิ่มขึ้น (หากเป็น Quad-Core ก็ไม่หนักอะไร) ผมเคยทำสมัยยังเป็น Single Core… เล่นเอา CPU เหนื่อยเหมือนกันครับ
ยุคสมัยมันเปลี่ยนไป ความแรงของ CPU มันมีหลายสูบ… ก็นำเทคโนโลยี่กันบีบอัด html กลับมาใช้ก็ได้ประโยชน์เช่นกันครับ
ทำแบบนั้นคือแบบใหนครับ ที่ว่าใช้ cpu มากขึ้น งง
ผมว่า Cache html น่าจะประหยัด CPU ได้มากกว่านะครับ
เออ…ผมผิดเองเข้าใจผิด ดันไปคิดถึงเรื่อง gzip เพราะไปเห็นมใช้ function
gzip แทบไม่ได้เปลือง cpu เพิ่มขึ้นเลยครับ
ทดสอบแล้วจริงๆ กับเว็บที่ pageview ระดับเหยียบล้านต่อวัน
เสีย cpu มาบีบข้อมูล แล้วส่งข้อมูลเล็กๆ ออกไปใน network
ดีกว่าเสีย cpu มา “wait” เพื่อรอ traffic ว่าง แล้วถึงจะส่งเยอะ
หุหุ
ผมว่าแยก static กับ dynamic content ออกจากกันดีกว่าครับ
พวกที่เป็น cache file (html, image, js, css) ก็ไปเก็บไว้อีกส่วนนึง
พวก php ก็เก็บไว้อีกส่วนนึง เวลาเรียกก็เรียกเป็น sub domain ไป
[quote author=212cafe.com link=topic=17086.msg160251#msg160251 date=1233051719]
ผมว่าแยก static กับ dynamic content ออกจากกันดีกว่าครับ
พวกที่เป็น cache file (html, image, js, css) ก็ไปเก็บไว้อีกส่วนนึง
พวก php ก็เก็บไว้อีกส่วนนึง เวลาเรียกก็เรียกเป็น sub domain ไป
[quote author=kke link=topic=17086.msg160268#msg160268 date=1233054739]
:smash:
ของผมเว็บบ้านๆแบบเครื่องเดียว all in 1 คงจะแยกลำบากครับ
แล้วถ้าเทียบกับ memcache อันไหนดีกว่ากันครับมีใครทำแล้วบ้าง
แล้วถ้า cron เอาเลยหละครับ
เว็บก็ให้มันรันปกติของมันไป
ดึงหน้า html ที่สร้างแล้วออกมาดูตรงๆเลย ไม่ต้องเช็คอะไร
เพราะคนเข้า 1000 คนพร้อมกัน ก็เท่ากับต้องเช็คเวลาซ้ำซ้อนกัน 1000 รอบ ตอนเช็คเวลา ก็ต้องอ่านค่าเวลาจาก ไฟล์แคช
ก็ทำให้เปลือง io อยู่ดี
แล้วใช้ cron update ทุกกี่ วินาทีก็ว่าไป
ถ้าเป็นบอร์ด ก็ถ้ากลัว user งงเพราะโพสแล้วข้อความไม่ขึ้น
เวลาโพสเส้ด ก็ขึ้นหน้า wait ให้ user รอ เท่ากับจำนวน วินาทีที่เรา cron ยังไง ก็ต้องได้ข้อมูลที่ update แล้ว
แต่ตอนนี้ยังคิดอยู่ว่าจะจัดการกับเรื่อง concurrency control
[quote author=ccpower link=topic=17086.msg181757#msg181757 date=1241017531]
แล้วถ้า cron เอาเลยหละครับ
เว็บก็ให้มันรันปกติของมันไป
ดึงหน้า html ที่สร้างแล้วออกมาดูตรงๆเลย ไม่ต้องเช็คอะไร
เพราะคนเข้า 1000 คนพร้อมกัน ก็เท่ากับต้องเช็คเวลาซ้ำซ้อนกัน 1000 รอบ ตอนเช็คเวลา ก็ต้องอ่านค่าเวลาจาก ไฟล์แคช
ก็ทำให้เปลือง io อยู่ดี
แล้วใช้ cron update ทุกกี่ วินาทีก็ว่าไป
ถ้าเป็นบอร์ด ก็ถ้ากลัว user งงเพราะโพสแล้วข้อความไม่ขึ้น
เวลาโพสเส้ด ก็ขึ้นหน้า wait ให้ user รอ เท่ากับจำนวน วินาทีที่เรา cron ยังไง ก็ต้องได้ข้อมูลที่ update แล้ว
แต่ตอนนี้ยังคิดอยู่ว่าจะจัดการกับเรื่อง concurrency control