Latest article
Home >> Author Archives: Peerapach Varalertsakul

Author Archives: Peerapach Varalertsakul

Error: Unable to create directory wp-content/uploads/2018/11. Is its parent directory writable by the server?
I'm interested in: Database: MySQL and MariaDB, WebScaleSQL, SQL Tuning, Database sharding Search engine: Elasticsearch Web: Apache tuning, web optimization and SEO Platform: log platform

A Feature Comparison of MariaDB and MySQL

mariadb_mysql

ตารางเปรียบเทียบ Feature ของ MariaDB verion 5.5 & 10 และ MySQL 5.5 & 5.6 FEATURE MYSQL 5.5 MARIADB 5.5 MYSQL 5.6 MARIADB 10 Multi-source replication Flexible Parallell slave replication Parallel slave repliction per Schema   1) Global Transaction ID (GTID)     2)   Sharding through Spider Table Partitioning Improvements   Engine Independent Statistics Sub-query and join optimizations     Histogram Statistics ... Read More »

Checklist ตรวจสอบ performance บน MongoDB ที่ใช้เนื้อที่มากกว่า 100GB

Checklist สำหรับ MongoDB ที่จัดทำขึ้นโดย MongoHQ ที่จะช่วยให้ผู้ใช้งาน MongoDB ตรวจสอบระบบของตนเองและดำเนินการแก้ไข เพื่อป้องกันปัญหาเรื่อง performance ที่จะเกิดขึ้นเมื่อจำนวนข้อมูลที่เก็บไว้ใน MongoDB มีขนาดมากขึ้นเรื่อยๆ สำหรับ Checklist ในการตรวจสอบระบบ MongoDB นี้ผมได้ทำการสรุปคร่าวๆได้เป็นหัวข้อดังนี้ ตรวจสอบลักษณะข้อมูลและการใช้งานของ application ซึ่งทาง MongoHQ ได้ทำการแบ่งชนิดของข้อมูลออกเป็น 4 แบบ คือ fast, slow, small และ large และแบ่งรูปแบบข้อมูลของ application ที่จะเข้าถึงข้อมูลออกเป็นชนิดต่างๆ จากรูปแบบข้อมูลของ application ต่างๆ (ตามภาพด้านล่าง) ทาง MongoHQ ได้แนะนำให้ให้หลีกเลี่ยงข้อมูลของ application ชนิดที่เป็น OLTP, Queues และ Messages จากข้อ 1. ข้อมูลที่ไม่เหมาะกับ MongoDB แนะนำให้ใช้งาน engine อื่นแทน เช่น redis เป็นต้น หลีกเลี่ยง query ที่มีลักษณะ ... Read More »

MySQL Replication ทำงานอย่างไร?

เคยสงสัยไหมว่า MySQL Replication ทำงานอย่างไร และ อะไรคือ I/O Thread และ SQL Thread และทำงานอย่างไร? MySQL Replication เป็นวิธีการทำ replication ข้อมูลไปยัง MySQL server เครื่องอื่นๆ (1 เครื่องหรือมากกว่า) ที่นิยมใช้งานกันอย่างแพร่หลาย โดยการทำงานจะเป็นแบบ Master -Slave กล่าวคือ Master จะทำหน้าที่ส่งข้อมูลให้กับเครื่อง Slave เพื่อทำการ update ข้อมูล หากมีการ update ข้อมูลบนเครื่อง Master ข้อดีของ MySQL Replication คือช่วยให้เพิ่มประสิทธิภาพในการอ่านข้อมูลให้กับระบบ โดยกำหนดให้ ทุก update ให้ทำงานที่ Master ส่วนทุกคำสั่ง Select ให้ทำงานที่ Salve สำหรับขั้นตอนการทำงานโดยละเอียดตั้งแต่การ update ข้อมูลบนเครื่อง Master จนไปถึงการ replicate ข้อมูลไปยังเครื่อง Slave จะมีขั้นตอนการทำงานตามด้านล่างนี้ ขั้นตอนการทำงานของ ... Read More »

Storage Volumes แบบต่างๆ ของ GlusterFS

GlusterFS เป็นระบบ distributed strorage ที่เริ่มได้รับความนิยมเพิ่มขึ้นเรื่อยๆ เพราะการทำงานของการ setup ที่เข้าใจง่ายและไม่ซับซ้อน และนอกจากนี้ GlusterFS ยังได้รับความนิยมไปใช้งานควบคู่กับระบบ Cloud ต่างๆ มากมาย GlusterFS เป็น project ที่ได้รับการสนับสนุนจาก RedHat และทาง RedHat ได้นำ GlusterFS เข้าสู่ผลิตภัณฑ์หนึ่ง ดังนั้นจึงเป็นเครื่องการรันตีได้ในระดับหนึ่งว่า GlusterFS มีประสิทธิภาพการทำงานที่ดี และมีความเสถียรในการทำงานในระดับที่ดี สำหรับบทความนี้ ผมจะนำเสนอ Storage Volumes แบบต่างๆ ของ GlusterFS เพื่อให้ผู้ที่เริ่มศึกษาเข้าใจถึงรูปแบบการทำงานของระบบในระดับหนึ่ง นอกจากนี้ผมจะพูดถึงข้อดีและข้อเสียต่างๆ ในทัศนะของผู้ใช้งานเองมาให้พิจารณาคร่าวๆด้วย Storage Volumes แบบต่างๆ ของ GlusterFS Distributed Storage Volumes แบบ distributed คือการแยกการจัดเก็บไฟล์ออกไปยังแต่ละ brick โดยการจัดเก็บจะจัดเก็บแบบ 1 ไฟล์ ต่อ 1 brick ข้อดี สามารถ access file ... Read More »

การ tuning Apache MPM prefork mode

Apapche MPM prefork mode เป็น mode การทำงานที่ง่ายต่อการติดตั้ง php เพราะ prefork mode รองรับการทำงานกับ php module ดังนั้นเมื่อติดตั้ง apache prefork mode + php แล้ว web server ก็พร้อมใช้งานได้ทันที จึงทำให้ Apache MPM preform + php module กลายเป็น default setup ของ OS หลายๆค่ายไปโดยปริยาย สำหรับการ tuning Apapche MPM prefork mode สามารถแบ่งออกเป็นส่วนๆได้ดังนี้ Prefork module สำหรับการ tuning apache prefork mode จำเป็นต้องเข้าใจ parameter ต่างๆ เพื่อให้สามารถให้ระบบทำงานได้อย่างมีประสิทธิภาพ ถ้าหากปรับแต่งผิดก็สามารถทำให้ระบบล่มได้ ตัวอย่าง Configuration ของ Apache ... Read More »

สาเหตุ การแก้ไขไฟล์ ibdata1 บน MySQL มีขนาดใหญ่

mysql

คำถามยอดฮิตของ MySQL คำถามหนึ่ง คือ ทำไมเวลา drop table หรือ database แล้วพื้นที่ไม่ลดลงหรือลดลงน้อยกว่าพื้นที่จริง ไฟล์ ibdata1 ใน MySQL สามารถลดขนาดได้หรือไม่ ไม่น่าเชื่อว่าคำถามทั้งสองนี้มีความเกี่ยวข้องกัน เพราะว่าพื้นที่ที่ถูกใช้โดย InnoDB’s shared tablespace บน MySQL (ibdata1) จะไม่สามารถคืนพื้นที่ได้ และถ้าหากไม่มีการเปิดการใช้งาน innodb_file_per_table ด้วยแล้วพื้นที่จะสามารถเรียกคืนได้น้อยมากหรือไม่ได้เลย InnoDB’s shared tablespace (ibdata1) คืออะไร InnoDB’s shared tablespace (ibdata1) คือ พื้นที่ที่ใช้เก็บข้อมูล tablespace (ทั้งหมด), data dictionary (metadata), change buffer, doublewrite buffer และ undo logs และถ้าหากเปิดใช้งาน innodb_file_per_table จะถูกแบ่งออกเป็น 2 ส่วน คือ ส่วนที่จัดเก็บ tablespace ของ table ... Read More »

Facebook Iconfacebook like buttonTwitter Icontwitter follow button
Copy Protected by Chetan's WP-Copyprotect.