การเปรียบเทียบ PHP APC และ Memcache

มีการทดสอบง่ายๆ ที่ฉันสามารถลองใช้เปรียบเทียบ APC และ Memcache เพื่อให้เข้าใจถึงประโยชน์ด้านประสิทธิภาพของการใช้งานหรือไม่

ฉันลองทำสิ่งง่ายๆ โดยใช้ microtime() และวนซ้ำคำขอไปยังฐานข้อมูลของฉัน และจัดเก็บผลลัพธ์ อันดับแรกอยู่ในแคช จากนั้นจึงไม่มี แต่ฉันไม่สังเกตเห็นว่าประสิทธิภาพเพิ่มขึ้นอย่างมีนัยสำคัญ

ขอบคุณ.


person BannerMan    schedule 23.07.2010    source แหล่งที่มา


คำตอบ (1)


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

ทางเลือกหนึ่งคือใช้ ab (Apache Bench) เพื่อส่งคำขอ HTTP ซ้ำไปยังหน้าเดียวกัน และวัดความแตกต่างในอัตราคำขอและโหลด...

ab -c 20 -n 1000 http://www.example.com/index.php

-c 20 บอกว่าจะใช้ไคลเอ็นต์พร้อมกัน 20 เครื่อง (จำลองผู้ใช้พร้อมกัน 20 ราย) -n 1000 บอกว่าจะสร้างคำขอทั้งหมด 1,000 รายการ จากนั้น ดูทั้งฟิลด์เวลาต่อคำขอและคำขอต่อวินาที ลองเล่นกับการตั้งค่า APC/Memcache ต่างๆ (แม้กระทั่งปิดการใช้งาน) เพื่อดูว่าตัวเลขเหล่านั้นเปลี่ยนแปลงไปอย่างไร...

person ircmaxell    schedule 23.07.2010
comment
ขอบคุณมาก. เมื่อฉันปิดการใช้งาน APC และ Memcache และรันคำสั่ง ฉันได้รับสิ่งต่อไปนี้: apr_socket_recv: การเชื่อมต่อที่มีอยู่ถูกบังคับให้ปิด แต่เมื่อ APC และ Memcache ทำงานอยู่ ฉันไม่ได้รับข้อผิดพลาด คุณรู้ไหมว่าอะไรเป็นสาเหตุของสิ่งนี้? ฉันใช้ Windows และ XAMPP (PHP 5.3.1) - person BannerMan; 23.07.2010
comment
ตรวจสอบบันทึกข้อผิดพลาด PHP และ Apache ของคุณ มีโอกาสที่บางสิ่งจะ segfaulted หรือ php เสียชีวิตเนื่องจากสาเหตุอื่นบางประการ... - person ircmaxell; 23.07.2010