ปัญหา Query หนักใน plugin post-views ของ WordPress

วันก่อนเซิร์ฟเวอร์เครื่องหนึ่งเกิดปัญหาโหลดขึ้นสูงอย่างหนัก จึงได้เข้าไปตรวจสอบ

พบว่าสาเหตุเกิดจาก เว็บไซต์ลูกค้ารายหนึ่ง ใช้ WordPress และมีคนเข้าจำนวนมาก เค้าได้ติดตั้ง plugin ที่มีชื่อ post-views เข้าใจว่ามันจะทำการนับ stats และแสดงรายการ posts ที่มีคนเข้าชมเยอะ ไรประมาณนั้น

ใน Query ที่ plugin มันเขียน มันใช้ SELECT ใหม่ทุก โดยใช้ WHERE ระบุเป็นเงื่อนไขเวลาที่ละเอียดเป็นวินาทีเลย.  ผมเลยลองเข้าไปแก้ให้ Query มัน WHERE โดยใช้เวลาเป็น floor ที่ interval=20 minutes  เพราะตอนแรกเดาว่ามันน่าจะได้ประโยชน์จาก MySQL query cache  แต่ปรากฎว่าไม่ช่วยแฮะ ไม่รู้ว่า result มันขนาดเกิน cache limit หรือเปล่า

ผมเลยแก้ให้มันเขียน result ลงไฟล์แทน โดยใช้ serialize

ต้องสร้างโฟลเดอร์ /wp-content/plugins/post-views/cache/ และเปิดสิทธิ์ให้ php เขียนไฟล์ในโฟลเดอร์นี้ได้ด้วย

อันนี้เป็นไฟล์ที่ผมแก้แล้ว  แก้ 2 จุดครับ ประมาณบรรทัดที่ 2243 และ 2412 ครับ (ดาวน์โหลด post-views.php)

ปัญหาโหลด php_mysql.dll ในเครื่อง Windows 7 64bit

ปรกติแต่ก่อนใช้ AppServ ในการติดตั้ง Web Server ในเครื่องตัวเอง. แต่ตอนหลังชอบที่จะติดตั้งเองมากกว่าครับ เพราะว่าจะได้ใช้ซอร์ทแวร์เวอร์ชั่นล่าสุดในแต่ละตัว.

ล่าสุดที่ติดตั้งไปนั้น มีดังนี้ครับ

  1. Apache 2.2
  2. PHP 5.2.17
  3. MySQL 5.5.22
ทุกทีก็ไม่มีปัญหานะครับ แต่ล่าสุดนี่งงมากว่าทำไมอยู่ดีๆ เป็นแบบนี้ มันโหลด library mysql และอื่นๆ บางตัวไม่ได้ครับ โดยจะขึ้นใน error.log ลักษณะนี้
PHP Warning:  PHP Startup: Unable to load dynamic library ‘C:/Wamp/php5/ext\\php_mysql.dll’ – The specified module could not be found.\r\n in Unknown on line 0
ทั้งๆ ที่ก็มีไฟล์ php_mysql.dll อยู่ในพาทดังกล่าวครับ. ลองเสิร์ซๆ ดูก็เลยไปพบกับ tools ตัวนึงชื่อว่า Dependency Walker ครับ. ไม่ต้องติดตั้ง สามารถใช้ได้เลยครับ โดยคุณสามารถดาวน์โหลดได้ที่นี่ http://www.dependencywalker.com/
การทำงานของมัน คือ คุณโยนไฟล์ .dll ที่มีปัญหาโหลดไม่ได้เข้าไป มันจะตรวจให้ว่าเราขาดไฟล์ library (.dll) ตัวไหนไปครับ  ก็ไปหาโหลด หรือหาในเครื่องเรานี่แหละ มาวางในโฟลเดอร์ ./ext ให้มันครบครับ
อย่าง php_mysql.dll ของผมมันฟ้องว่ามันหา libmysql.dll ไม่เจอครับ
สุดท้ายผมเอาไฟล์  libmysql.dll  จากในโฟลเดอร์ php ไปวางใน C:\Windows ครับ  ก็สามารถแก้ปัญหาได้เรียบร้อยคร้บ

จดโดเมน .in.th , .co.th , .go.th

สำหรับผู้ที่ต้องการจดทะเบียนโดเมน .in.th , .co.th และ .th อื่นๆ และกำลังมองหาผู้ให้บริการ  ผมขอแนะนำบริการจดทะเบียนโดเมนที่ P&T Hosting เลยครับ จดโดเมน .in.th นอกจากว่าที่นี่จะรับจดทะเบียนในราคาประหยัดแล้ว ยังมีบริการเสริมที่ทาง P&T Hosting ทำเพิ่มมาให้พิเศษอีกด้วยครับ ได้แก่ บริการ Domain Forwarding และ DNS Management (หรือการตั้งค่า Zone Records) ซึ่งปรกติแล้วโดเมน .th จะไม่มีบริการตรงนี้ให้นะครับ คุณจะต้องใช้โดเมน .th ร่วมกับโฮสติ้งเท่านั้น

พอมีบริการลักษณะนี้ เท่ากับว่าคุณจดเฉพาะโดเมนเนม .th ก็สามารถนำไปสมัครอีเมล Google Apps หรือ Windows Live เพื่อสร้างอีเมล @ชื่อโดเมน.in.th ของคุณได้เลย โดยที่ไม่ต้องมีโฮสติ้งเลยครับ เท่ากับว่าในแต่ละปีคุณก็เสียแค่ค่าโดเมนประมาณสามกว่าบาทเท่านั้น เข้าไปดู ราคาโดเมน .th ปัจจุบันได้เลยครับ

Joomla 1.5.20 + SMF 1.1.11 (Bridge: jFusion 1.5.1)

บันทึกนี้ไม่ใช่วิธีติดตั้ง แต่เป็นบันทึการติดตั้งของผมเท่านั้น เพราะติดตั้งเสร็จแล้ว ผมก็ยังรู้สึกมันยังใช้งานไม่สมบูรณ์

Continue reading “Joomla 1.5.20 + SMF 1.1.11 (Bridge: jFusion 1.5.1)”

Google Apps ไม่สามารถกด Activate E-mail Service ได้

อาการคือมันกด แล้วมันก็อยู่ที่หน้าเดิม…. -*-

วิธีแก้…

จากหน้า Dashboard ให้คลิกเข้าที่ Email

เข้าที่ Instructions on how to activate Email

เข้าที่ Change MX records

Google Apps “Your domain is not yet ready”, “โดเมนของคุณยังไม่พร้อม”

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

อาการคือ จะมีข้อความนี้แสดงอยู่ในหน้า cpanel ของ Google Apps

โดเมนของคุณยังไม่พร้อม – เรายังคงประมวลผลการชำระเงินสำหรับการลงทะเบียนโดเมนของคุณ ในระหว่างนี้ คุณสามารถดำเนินการต่อและใช้คุณลักษณะบางประการของ Google Apps เช่น การสร้างผู้ใช้หรือ เรียนรู้วิธีเริ่มต้นใช้งาน เมื่อเราได้รับการชำระเงินแล้ว Google Apps ของคุณทั้งหมดจะเปิดใช้งานโดยอัตโนมัติ ขอขอบคุณที่กรุณาอดทนรอ

Your domain is not yet ready – We are still processing payment for your domain registration. Meanwhile, you can go ahead and use some of the features of Google Apps, such as creating users or learn how to get started. Once we receive your payment, all your Google Apps will be activated automatically. Thanks for your patience.

—————–

วิธีแก้ไข คือ ให้ไป Verify Domain Ownership ที่หน้านี้

http://www.google.com/a/{add your domain here}/VerifyOwnership