Archive for July, 2015

0211 | WordPress : ของที่ทั้งเจ๋งและกากในตัวเดียวกัน

Monday, July 20th, 2015 Posted in PHP Coding | No Comments »

หลังๆ มีงานต้อง optimize เว็บที่เป็น WordPress เยอะมากๆ ครับ แล้วก็เจอ programmer ที่ชอบทำอะไรพิสดารกับ wordpress มากๆ จนแบบ… อึ่มมมม นี่ไม่ได้รู้เลยใช่มั้ยว่า มัน กาก มาก

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

ความกากของ WordPress คือ ตัวมันเองใช้ cpu เปลืองมากๆ ครับ ต่อให้ลง WordPress เปล่าๆ ไม่ทำอะไรเลย แล้วลองยิงอัดดู “แค่” 5-10 request ต่อวินาทีก็ทำให้ server ที่มี CPU 4 core ใช้งาน cpu เต็ม 100% ได้แล้ว ตัวเลขนี้แปลงกลับมาเป็นจำนวน pageview ได้แค่วันละประมาณ 100,000 pageview หรือประมาณ 20,000 – 50,000 UIP แค่นั้นเอง

แล้วไม่ได้เพิ่งมาเป็นนะครับ เป็นมานานแล้วด้วย ดูได้จาก กระทู้นี้ ตั้งแต่เมื่อประมาณ 3 ปีที่แล้วโน่น…

ที่ทำให้มันโหดร้ายมากขึ้นกว่าเดิม คือตัวเลขด้านบนเป็นตัวเลขที่มาจากการใช้งานปกติ … ไม่นับการแชร์ใน social network ซึ่งมีผลกระทบรุนแรงกว่ากันมาก เพราะมันทำให้ปริมาณการเข้าใช้งานสูงมากในเวลาสั้นๆ ซึ่งปกติอาจไม่มีการใช้งานขนาดนั้น (5-10 request ต่อวินาที) เลยก็ได้

ก็เลยเกิด Plugin มหาเมพขึ้นสำหรับ WordPress ครับ ด้วยแนวคิดที่ว่า ปกติเนื้อหาเว็บมันไม่ค่อยจะเปลี่ยนอยู่แล้ว เพราะงั้นก็ทำมันเป็น HTML ไปซะเลยก็สิ้นเรื่อง plugin ที่ว่าคือตระกูล cache ทั้งหลาย ที่นิยมใช้ก็ WP Super Cache, W3 Total Cache และจริงๆ มีอีกหลายตัวครับ

โดยวิธีการที่ Plugin พวกนี้ใช้คือ เมื่อ render หน้าเว็บเสร็จแล้วครั้งนึงก็สร้างไฟล์ cache ที่ path ใกล้เคียงกับ URL เดิม แล้วอาศัยความสามารถในการ rewrite (เปลี่ยนเส้นทาง URL) ของ server ส่งไปที่ไฟล์ cache ทันทีที่มีไฟล์ html ที่สร้างเสร็จแล้วอยู่ ทำให้การเข้าใช้งานหลังจากนั้นไม่ต้องเสียเวลาประมวลผลในฝั่ง PHP เลย แม้แต่นิดเดียว

ที่สำคัญกว่าคือ ต้องหาทางพยายามทำให้เกิดการเรียกใช้งานไปที่ WordPress น้อยที่สุดด้วยครับ ทำให้มีสิ่งที่ควรทำ และควรเลี่ยงจำนวนมากดังนี้

  • บังคับใช้ Permalink แบบที่ไม่มีเครื่องหมาย ? อยู่ใน URL
  • ปิดระบบ comment ปกติของ WordPress ไปใช้พวก Disqus หรือ Facebook Comment แทน
  • Plugin ที่มีการนับสถิติทั้งหมด “ห้าม” ใช้โดยเด็ดขาด (อยากนับสถิติ เอา code ตัวนับของ google analytics ไปแปะใน theme แทนดีกว่า)
  • Plugin ‘Tracking Code’ ของพวกระบบโฆษณาก็ทำให้ cache ไม่ทำงาน นี่ก็ห้ามใช้เหมือนกัน
  • อย่าพยายามไปเรียกใช้ตัว ajax ของ WordPress บน Theme หรือ Plugin
  • อย่าเชื่อคำแนะนำของ wp touch ที่ให้ปิดแคชของ mobile ทิ้ง… คนเข้าจากมือถือสมัยนี้เยอะกว่า desktop แล้ว ไม่แคชก็ล่มพอดี
  • การเขียน code ระบบใหม่โดยไปดึง function ของ WordPress มาใช้ หรือไป include ไฟล์ wp-config.php มาใช้ในระบบตัวเองแล้วเรียกการทำงานด้วยวิธีของ WordPress ซึ่งไม่มี cache และไม่สามารถ cache ได้

แค่นี้ (เหรอ?) ก็ทำให้เว็บที่ใช้ WordPress รองรับคนเข้าได้หลักล้านต่อวันโดยไม่เปลืองทรัพยากรบนฝั่ง server แล้วครับ

Tags: , , ,

0210 | รีวิว Dell Latitude E7450

Friday, July 10th, 2015 Posted in Misc | No Comments »

ใช้ Dell Vostro V131 มาสามปีกว่าแล้วครับ ได้ฤกษ์เปลี่ยนใหม่เป็น Dell Latitude E7450 เรียบร้อยด้วย spec ตามนี้

  • จอ Full HD 1920×1080
  • Intel i5 5200U
  • การ์ดจอ Intel HD Graphic 5500
  • HDD 500GB (แต่ได้มาก็ถอดแล้วใส่ SSD 256GB แทน)
  • Wireless Intel 7265AC

ส่วน option อื่นที่มีแต่ไม่ได้เอามา (dealer เรื่องมาก + สั่งยากเกิ๊น) คร่าวๆ ก็มี backlight keyboard , touch screen (ที่ไม่น่าจะได้ใช้) , การ์ดจอแยกที่เค้าบอกว่าโมเดลฝั่งเอเชียไม่มี

ใช้งานมาสามวันละครับ สรุปคร่าวๆ ได้ประมาณนี้

  • แบต 3 cell น้อยไปนิด แต่ใช้งานได้ 4 ชั่วโมงอยู่
  • keyboard layout เปลี่ยน ไม่ชิน ที่สำคัญคือปุ่ม home end ไปรวมอยู่กับลูกศรซ้ายขวา (นี่ยังดีนะว่าแยก pageup pagedown)
  • keyboard แข็งไปนิด ต้องออกแรงกดมากขึ้น ไม่ตื้นเบาหวิวจนเผลอกดผิดแน่นอน
  • เล่น Cities Skylines บน Notebook ได้แล้ว น้ำตาไหลพราก T_T แค่ต้องปรับ low แค่นั้นเอง
  • keyboard ไม่มี backlight นี่มัน…
  • ปุ่ม \ เล็กไปนิดนึง กดไม่ค่อยโดน
  • จอ full hd ละเอียดยิบ ฟอนต์เหลือเล็กกะตึ๋งนึง ซูมรัวๆ