DEV Community

CodeBanBan
CodeBanBan

Posted on

บันทึกการปรับ Performance ให้ระบบ Code Name: Peppermint #2 ย้ายไป Logger Database

Part 1 Upgrade Server Spec

หลังจาก Review ระบบปัจจุบันกันแล้ว
จึงตัดสินใจปรับ infra ของตัวระบบ
เพื่อให้รองรับการ scale ที่ง่ายขึ้น

ระบบตอนแรก Design แบบ simple เลย คือ ตัวแอพ และ database อยู่ในเครื่องเดียวกันเลย
จึงทำให้เครื่องทำงานค่อนข้างหนัก
Image description

ทางทีมจึงตัดสินใจ แยกส่วน database ออกไปอีกเครื่อง
เพื่อช่วยกระจายการทำงานของแต่ละส่วน
จากที่คุยกัน ทีมตัดสินใจแยกเครื่อง database ออกไปอีก 2 ส่วน คือ

  1. Main DB ซึ่งเบื้องต้นจะทำ Replicate master/slave
  2. Logger DB ไว้เก็บ activity log ทุกๆการเรียก api

แต่การย้ายทั้งหมดเป็นเรื่องค่อนข้างยาก จึงค่อยๆ ทยอยทำเป็นส่วนที่กระทบน้อยก่อน
ใน Part นี้ จึงเลือกย้าย Acitivity log ไปเครื่อง Logger DB ก่อน
ฝั่ง server จึงปรับออกมาเป็นตามนี้
Image description

หลังจากย้าย Activity Log ไปอีกเครื่องแล้ว
จะเห็นว่า CPU ลดลงมาอยู่ที่ 30%-35% ซึ่งทำให้เครื่องเสถียรขึ้นพอสมควร
Image description

Top comments (0)