แก้เว็บอืด ต่อเนื่องด้วย MySQL Cache

แก้เว็บอืด ต่อเนื่องด้วย MySQL Cache

จากบทความก่อน เทคนิคแก้เว็บอืด ด้วยการทำ cache  ที่เล่าให้ฟังว่า ได้รับโจทย์แก้ไขเว็บอืด แล้วใช้ file cache ทำให้การโหลดเว็บจาก 30-40 วินาที ลงมาเหลือเพียง 9 วินาทีเท่านั้น จากนั้นผมก็ค่อยๆแก้ไขเพิ่มเติมไปเรื่อยๆ จนกระทั่งได้เปิดใช้งาน MySQL Cache เพิ่มด้วย ทำให้จากเว็บที่ load 9 วินาทีลงมาเหลือเพียงแค่ 3 วินาทีครึ่งเท่านั้น ผมถึงกับตะลึงไปเลย

จริงๆเรื่องนี้ไม่ใช่เรื่องใหม่อะไร เพียงแค่ว่า คนไม่ค่อยนิยมใช้กันเท่านั้นเอง แต่ว่าระบบที่ผมต้องเข้าไปแก้ เค้ารัน server เว็บเครื่องนึง MySQL อีกเครื่องหนึ่งแยกกัน แล้วรันเว็บเดียวก็ไม่มีปัญหาอะไรอยู่แล้ว และอย่างที่เล่าไปแล้วว่า เว็บนี้มีปัญหาเรื่อง database เพราะว่าออกแบบระบบมาได้แย่มาก ดังนั้นการ cache จึงช่วยได้อย่างมหาศาลเลยทีเดียว

สำหรับการแก้ไขเพื่อเปิดใช้งาน cache นั้นท่านจะต้องมี server เป็นของตัวเอง หรืออย่างน้อยมี VPS เป็นของตัวเอง เพื่อให้เข้าไปแก้ไขค่า my.ini หรือ my.cnf สำหรับ Linux 

สำหรับการเปิด cache เราจะเพิ่มคำสั่งเข้าไปดังนี้ 

query_cache_type = 1
query_cache_size = 48M 

โดย query_cache_type = 1 แปลว่า ให้เปิดการ cache อัตโนมัติ (ก็คือ cache ทุกครั้งนั่นแหล่ะ) และ query_cache_size = 48M คือกำหนดพื้นที่สำหรับเก็บ cache ให้มีขนาด 48 Megabytes นั่นเอง สำหรับเรื่องขนาดที่เหมาะสม นี่แนะนำให้ลองปรับ และวัดค่าดูครับว่าต้องใช้เท่าไรถึงจะเหมาะ อย่างงานที่ผมเจอ และทดสอบดู ที่ 48M เหมาะสุดครับ เกินกว่านั้นเปลือง ram และไม่ได้เพิ่มประสิทธิภาพขึ้นอีกเท่าไร

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

ย้ำอีกที ว่าปัญหาของโจทย์ที่ผมเจอก็คือ มีปัญหากับ database และ การวางระบบพื้นฐานที่จัดการ database มาได้แย่มาก ดังนั้น การเปิด MySQL ไม่ใช่ complete solution ที่จะครอบจักรวาล ใช้ได้กับทุก case ครับ ต้องวิเคราะห์ปัญหาออกมาก่อนเท่านั้น

เดี๋ยวถ้าผมได้ solution อะไรใหม่แล้วทดสอบแล้วว่ามัน work ก็จะเอามาแนะนำกันอีกรอบครับ แต่การ generate หน้าเว็บด้วยเวลา 3 วินาทีสำหรับผมมันยังเยอะไปครับ แต่ผมก็ยังไม่แน่ใจว่า จะทำให้ลดได้มากกว่านี้อีกเท่าไร เพระาว่าอย่างที่บอก ปัญหามันอยู่ที่ตัวระบบพื้นฐานเลย มันเลยยากครับ ตอนนี้ ผมตกอยู่ในสถานการณ์ว่า เจ้าของสวนเค้าเอาเมล็ดมะม่วงพิการ พันธ์แย่ๆ มาปลูกเป็นต้นมะม่วง แล้วเค้ามาจ้างให้ผม ทำหน้าที่ ดูแลให้มะม่วงออกลูกให้ดกๆแต่พันธ์มะม่วงมันไม่ดี แถมมีความพิการมาตั้งแต่ตอนยังเป็นเมล็ด ไม่ว่าจะรดน้ำ พรวนดิน ใส่ปุ๋ย ฉีดยาแรงยังไง มันก็ออกลูกได้ไม่เยอะเท่ามะม่วงพันธ์ดีๆ ไม่มีความพิการหรอกครับ แต่มันก็ออกลูกเยอะกว่าตอนที่เราไม่ทำอะไรเลย ทางออกที่จะดีกว่านี้ ต้องหาเมล็ดมะม่วงพันธ์ดี มาปลูกใหม่แล้วล่ะครับ อันนี้เป็นหน้าที่ของเจ้าของสวนแล้ว ว่าลงทุนแบบไหนคุ้มค่ากว่ากัน

Create: Modify : 2013-01-01 23:32:22 Read : 4032 URL :