Wordpress query caching in Memcached

มีปัญหาเรื่อง performance ของ wordpress อยู่เรื่องนึง ที่น่าหงุดหงิดใจมานานแล้ว คือในตอนที่ใช้ memcached มาทำเป็น cache backend ให้ wordpress เพื่อลดภาระของ database มันก็ช่วยได้เยอะอยู่ แต่ก็ยังมีบาง query ที่ตัว wordpress มันไม่ยอม cache ให้ ดังเช่น query ด้านล่างนี้

SELECT SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  WHERE 1=1 
AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') 
ORDER BY wp_posts.ID ASC LIMIT 0, 1

เป็น query เจ้าปัญหาที่ถูกเรียกทุกครั้ง ทั้งๆ ที่ query อื่นถูก cache ไว้หมดแล้ว ทำให้ 1 request ที่เข้ามา ต้องมีการ query อย่างน้อย 1 query เสมอ ซึ่งดูเหมือนไม่เยอะเท่าไหร่ แต่ถ้าเว็บใหญ่ๆ ในระดับที่มีคนเข้าชั่วโมงละเป็นหลายหมื่น มันก็ทำให้ database ร่วงได้เหมือนกัน (อันนี้ยังไม่นับเรื่อง stampeding requests)

เมื่อมาลอง debug + ไล่โค้ดไปเรื่อยๆ ก็เจอเข้ากับ default filter ตัวหนึ่งของ wordpress ที่เพิ่มเข้ามาตอน wordpress 2.8 ที่ชื่อว่า start_post_rel_link มีหน้าที่แทรกแท็ก link เข้าไปที่ส่วน head ของหน้านั้นๆ ประมาณนี้

<link rel='start' title='Current Post Title'
href='http://www.pittaya.com/CurrentPostTitle/' />

แค่นี้แหละ ที่ต้องทำให้มี query ทุกๆ ครั้งที่เปิด (ซึ่งเป็น query ประเภท using filesort ที่ประสิทธิภาพห่วยอีกด้วย)

วิธีเอาออกก็ไม่ยากอะไร แค่ไป remove filter ออก โดยใส่โค้ดตามนี้ไว้ใน functions.php ของ theme ที่ใช้

remove_action('wp_head', 'start_post_rel_link', 10, 0);

แค่บรรทัดเดียวเท่านั้น ทำให้ลดโหลดของ database ลงไปได้มหาศาล สมกับคำโปรโมทของ wordpress ที่ว่า “โค้ดเป็นดั่งบทกวี”

เพียงแต่บทกวีบรรทัดนี้เสียเวลาเขียนอยู่ตั้ง 3 ชั่วโมง

New Parliament

วันก่อนไปดูนิทรรศการ “รัฐสภาแห่งใหม่” ที่หอศิลป์ตรง MBK เป็นงานจัดแสดงผลงานที่มีคนส่งเข้าประกวดในโครงการประกวดแบบรัฐสภาแห่งใหม่ที่เค้าเตรียมจะสร้างกัน

โปสเตอร์หน้าตาแบบนี้

poster

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

อันนี้ก็เป็นแบบหนึ่งที่เข้ารอบ หน้าตากลมๆ ผมว่าดูโบราณไปหน่อย

New Parliament

เนื่องจากสถานที่ที่จะสร้างรัฐสภาแห่งใหม่นี้มีด้านหนึ่งติดแม่น้ำ หลายๆ แบบที่ส่งเข้ามาก็จะออกแบบให้ดูสวยเวลามองจากอีกฝั่งเข้ามา อย่างอันนี้มีทรงสูงเด่นขึ้นไป (แต่ไม่รู้เอาไว้ใช้ประโยชน์อะไร)

New Parliament

แบบส่วนใหญ่ที่เห็น จะเน้นว่าต้องมีอะไรไทยๆ แปะอยู่ บางแบบทำได้กลมกลืนกับส่วนที่เหลือก็ดูโอเคดี แต่บางอันที่เหมือนเอามาแปะไว้เฉยๆ มันก็ไม่เข้ากันเสียเลย

New Parliament

อันนี้ดูได้อารมณ์มั่นคงดี แต่ตรงกลางหน้าตามันคล้ายๆ Louvre ไปหน่อย

New Parliament

ข้างล่างนี่เป็นแบบที่ชนะการประกวด ชื่อผลงานว่า “สัปปายะสภาสถาน” มีแนวคิดว่าเป็นการเอาธรรมะเข้ามาช่วยแก้วิกฤตทางการเมืองเนื่องจากความเสื่อมทางศีลธรรม

New Parliament

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

ลองดูความเห็นของนักวิชาการด้านนี้โดยตรง

“เขาจัดวางพื้นที่ของ ประชาชนไว้เป็นเรื่องสาธารณ์ซึ่งมีโลกุตระที่ศักดิ์สิทธิ์ มีความพิเศษ คอยอยู่เหนือ คอยข่มคุณอยู่ แบบนี้มันไม่เห็นเอื้ออะไรกับเรื่องสิทธิพลเมือง อำนาจของประชาชนในระบอบประชาธิปไตยแบบที่พูดไว้เลย”

“…แบบที่ขอให้ได้ เห็นเจดีย์ ขอให้ได้เห็นจั่ว ขอให้ได้เห็นองค์ประกอบลายไทยสักหน่อย แล้วก็ร่วมกันหลอกตัว เอง ภูมิใจว่า เอ้อ นี่เราได้เห็นความเป็นไทยทางสถาปัตยกรรมแล้ว”

แบบรัฐสภาใหม่ ความหมายเดิมๆ – สัมภาษณ์ ชาตรี ประกิตนนทการ, คณะสถาปัตยกรรมศาสตร์ มหาวิทยาลัยศิลปากร

นอกจากอันนี้แล้วก็ยังมีนิทรรศการอีกอันหนึ่ง ชื่อว่า Trans-Cool Tokyo เป็นงานแสดงศิลปะร่วมสมัยจากญี่ปุ่น โปสเตอร์ตามด้านล่าง

trans-cool

มีของเจ๋งๆ ข้างในเยอะดี (แต่เค้าไม่ให้ถ่ายรูป) มีงานตัวจริงของ Yoshitomo Nara ด้วย

ช่วยดับอารมณ์ความขุ่นมัวที่ได้จากการไปเดินดูนิทรรศการแรกได้เป็นอย่างดี

Tautology Club

“Listen up! The first rule of Tautology Club is the first rule of Tautology Club”

จาก xkcd ตอน Hornor Societies มีการพูดถึง Tautology Club (ชมรมสัจนิรันดร์) เอาไว้ ตอนนี้ใน facebook ก็มีคนมาตั้งกลุ่ม Tautology Club ขึ้นมาตามในเนื้อเรื่องแล้ว

คำว่า Tautology (สัจนิรันดร์) ก็คือ ประพจน์ที่มีค่าความเป็นจริงทุกกรณี เป็นเรื่องคณิตศาสตร์ ม.4 ใครจำไม่ได้ก็ไปทบทวนตำราเก่ากันเอาเองนะ

ใครชื่นชอบก็ไปเข้าร่วมเป็นสมาชิกได้ ขณะที่เขียนตอนนี้มีสมาชิก 8,000 กว่าคนแล้ว ถ้ามีคนเข้าร่วมกลุ่มนี้ 1,000,000 คน กลุ่มนี้ก็จะมีสมาชิก 1,000,000 คนนะ

วิธีแก้ปัญหา iphone อืด

nexus one

จบ…

(ลอกมุกมาจาก kohsija)

Palio เขาใหญ่

Palio เป็นสถานที่ช้อปปิ้ง กินเที่ยว สไตล์อิตาเลียน แต่ดันไปตั้งอยู่แถวเขาใหญ่ เป็นแหล่งถ่ายรูปที่ใหม่ สำหรับชาวกรุงผู้นิยมออกทริปถ่ายรูปนอกสถานที่ เจ้าของเดียวกับ Primo Posto ร้านกาแฟชื่อดังที่ตกแต่งสไตล์เดียวกัน

จะว่าไปแล้ว Palio ก็เหมือนกับ Primo Posto ขยายร่าง จากร้านกาแฟกลายเป็นศูนย์การค้า มีของเก๋ๆ ถูกจริตนักท่องเที่ยวชนชั้นกลางขายเพียบ ตั้งแต่โปสการ์ด เสื้อผ้า ของแฮนด์เมด ของแต่งบ้าน กาแฟสด พิซซ่า ไอศครีม ฯลฯ

ป้าย Palio Shop เป็นร้านอะไรไม่รู้ จำไม่ได้

ร้าน Palio Shop

มุมสวยๆ มีให้ถ่ายรูปเยอะ (แต่ต้องคนหลบคนหน่อย)

มุมถ่ายรูปใน Palio

ของน่ารักๆ สำหรับดูดเงินสาวๆ

สินค้าใน Palio

มีเบียร์ยี่ห้อแปลกๆ ขายด้วย สนนราคาก็ขวดละ 100+

เบียร์ที่มีขายที่ Palio

ขาดไม่ได้สำหรับร้านโปสการ์ด พร้อมตู้ไปรษณีย์

Palio ก็มีตู้ไปรษณีย์

การเดินทางไป Palio ก็ไม่ลำบากเท่าไหร่นักสำหรับคนมีรถขับ ออกจากกรุงเทพไปประมาณ 100 กว่ากิโล บนถนนธนะรัชต์ ใกล้โรงแรมจุลดิศ รายละเอียดเพิ่มเติมดูได้จากเว็บ official

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

หมายเหตุ: รูปทั้งหมด ถ่ายด้วย Panasonic Lumix GF1 ฟอร์แมตเป็น RAW แล้วเอามาปรับในโปรแกรม SilkyPix Studio (แถมมากับกล้อง) ดูภาพเพิ่มเติมได้ที่ Flickr set