mysqlworking สำหรับทดสอบการยิงระเบียนจำนวนมาก

mysql working
mysql working
ปรับ php script ชื่อ mysqlworking.php
สำหรับบริหารจัดการ table ใน database บน mysql
ให้ยิงระเบียนได้เท่าจำนวนที่ต้องการ ตั้งไว้ 1000 ระเบียน
ทีแรกจะยิ่งเข้าไปสัก 1 ล้านนึง
แต่จากการทดสอบ ในเครื่อง Desktop ใช้ Win8 ที่ติดตั้ง xampp + deepfreeze
พบว่าแค่ 600 ระเบียนก็เกิน 30 วินาทีแล้ว
ต้องแก้ max_execution_time ผ่าน ini_set() ถึงจะไม่มี error message
แต่ถ้ายิงไปเป็นล้าน คงรอกันข้ามคืนข้ามวัน
ก็มีความเป็นไปได้หลายอย่างที่ทำให้ response จาก mysql ช้าขนาดนี้
แต่ยังไม่ได้ตรวจสอบ
ถ้าทดสอบกับ http://thaiabc.ueuo.com/
พบว่า response ดีมาก ๆ ยิงเข้าไป 1 พันระเบียนใช้เวลาไม่ถึง 1 วินาที
แก้ไขเพิ่มเติม
พอดึกมาหน่อย เข้าไปปรับ code หลายจุด
โดยเฉพาะอาการช้าเกินเหตุ เมื่อ insert ข้อมูลเพียง 1000 ระเบียน
ก็พบว่าการ create database บน xampp
กำหนด default ของ engine เป็น innodb
เมื่อเปลี่ยนเป็น myisam พบว่าวิ่งฉลุยเร็วเหมือนไม่ได้คิดอะไร
insert เข้าไปเป็นล้าน ยังรอไม่นานเลย
จึงปรับ code ให้สามารถสร้างทั้งแบบ innodb และ myisam
จะได้เปรียบเทียบกันได้

Author: บุรินทร์ รุจจนพันธุ์

I am Lecturer, Developer, Researcher, Columnist, Writer, Photographer, and Webmaster - L@mpang man

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.