AppSignal รองรับ Solid Cache ตอนนี้ ให้คุณ deep cache performance insights เหมือนกับ Rails cache stores อื่นๆ
ในบล็อกโพสต์นี้ เราจะพาคุณ quick tour ของ Solid Cache และว่าคุณสามารถได้ประโยชน์จากการ monitor cache ของแอปด้วย AppSignal อย่างไร
Solid Cache คืออะไร?
Plug and play, database agnostic remote disk storage cache หมายความว่าไม่เหมือน Redis หรือ Memcached ที่เก็บใน memory Solid Cache ใช้ SQL database ผ่าน Active Record เก็บ cache ของคุณบน disk
Solid Cache อาจเป็น caching method ที่น่าสนใจ หากคุณทำงานกับแอปพลิเคชันที่มีปริมาณข้อมูล historical ที่ค่อนข้างมากและค่อนข้างเสถียร เช่น Hey, email service ของ 37Signals เนื่องจากนอกจากอีเมลใหม่ อีเมลเก่าไม่ได้เปลี่ยนแปลงอย่างกะทันหัน
การ Monitor Solid Cache ด้วย AppSignal
AppSignal เกิดในเนเธอร์แลนด์ ประเทศที่รู้จักกับลมลูกโป่ง คลอง stroopwafels และฝน มากมาย การรู้ว่าจะฝนตกเมื่อไหร่สำคัญมากเมื่อจักรยานเป็นขนส่งหลัก ดังนั้นเราสร้าง Rails app ชื่อ SkySignal
SkySignal เชื่อมต่อ APIs เพื่อ consume weather data ทั่วเนเธอร์แลนด์ ให้คนรู้ว่าจะฝนในพื้นที่ของพวกเขาหรือไม่ และช่วยให้นักพัฒนาอยู่อย่างแห้งขณะเป็น DRY 🥁
เหมือน Hey เราอยาก optimize response times ของแอปพลิเคชันโดยใช้ caching เพื่อ serve weather forecast ให้ผู้ใช้เร็ว เราจะใช้ Solid Cache เพื่อ cache historic weather data ในกรณีนี้
เราเลือก Solid Cache เพราะเหตุผลเดียวกับ Hey มันอนุญาตให้เรา cache ปริมาณข้อมูลมากในราคาส่วนเล็กของการใช้ alternative cache เช่น Redis
การติดตั้ง Solid Cache
การติดตั้ง Solid Cache ง่าย เราจะทำตามขั้นตอนใน Solid Cache's Readme:
- ก่อนอื่น เราต้อง config Solid Cache เป็น cache store ใน env config files ที่ต้องการ:
- จากนั้นเราต้องเพิ่ม
solid_cacheลงใน gemfile - จากนั้นเราต้องสร้าง และรัน Solid Cache migrations เพื่อสร้าง database cache:
ในกรณีนี้ เราอยากเขียน cache ไปที่ primary database แต่ถ้าคุณอยาก คุณยังสามารถ config Solid Cache ให้ shard cache ของคุณเข้า data stores ต่างๆ ได้ Sharding แบ่ง cache ของคุณเป็นส่วนเล็กๆ และกระจายไปยัง databases ต่างๆ (shards)
ต่อไป เราอยากติดตั้ง AppSignal เพื่อ monitor แอปของเรา
การติดตั้ง AppSignal
การติดตั้ง AppSignal เรียบง่าย เราสร้าง installation wizard ให้คุณ up และ monitoring
เพื่อเริ่ม wizard คุณสามารถคลิกปุ่ม "Add app" บนหน้า AppSignal Applications overview หรือถ้าคุณ sign in แล้ว คุณสามารถใช้ link นี้เพื่อเริ่ม wizard
Wizard จะแจ้งให้คุณทราบเมื่อ AppSignal ติดตั้งสำเร็จ และในกรณีที่น่าจะเกิดปัญหา นำคุณไปหา support ของเราสำหรับ dev-to-dev assistance

หากคุณอยากติดตั้ง AppSignal แบบ manual ตาม Installation Documentation ของเรา
ตอนนี้เราติดตั้ง AppSignal แล้ว เราสามารถเริ่ม monitor performance ของ SkySignal app ได้
การ Monitor Solid Cache
AppSignal รวบรวม performance metrics ของแอปพลิเคชันและแปลงเป็น actionable insights AppSignal มี toolkit ใหญ่ของ developer-friendly monitoring tools แต่สำหรับบล็อกโพสต์นี้ เราจะเน้นที่:
- Metric dashboards: ติดตาม performance data ของแอปแบบ visual เช่น error rates และ global response times สำหรับ SkySignal เราจะดู cache size และ performance times
- Anomaly detection: สร้าง triggers เพื่อแจ้งเตือนเมื่อ metric เกิน threshold เฉพาะ เช่น เมื่อ cache size เพิ่มขึ้นอย่างมีนัยสำคัญในเวลาสั้น
โอ้ และ别擔心 หากคุณไม่ใช้ Solid Cache ไม่ว่าคุณจะใช้ Rails cache store อะไร คุณจะได้ metrics ยอดเยี่ยมเหมือนกันใน AppSignal!
การ Monitor Solid Cache ด้วย Dashboards
Graphs ของ AppSignal เป็นวิธียอดเยี่ยมในการ monitor performance ของแอปพลิเคชันแบบ visual คุณสามารถเพิ่ม markers เพื่อแชร์ context เกี่ยวกับ performance spikes และคลิกที่ไหนก็ได้บน graph เพื่อดู snapshot ของ performance แอปในเวลาที่แน่นอนนั้น ทำให้ debugging เป็นเรื่องง่าย
การ Monitor Response Times
มาดู performance ของแอปตอนนี้ที่เรา config Solid Cache แล้ว:

ในกราฟข้างต้น เราเห็นว่า SkySignal มี response times ค่อนข้างเร็ว และเรายังเห็น response time spikes ที่เกิดจาก SkySignal consuming batches ของ weather data ใหม่
การ Monitor Cache Size
เราเลือกใช้ caching เป็นวิธีที่เสถียรและมีประสิทธิภาพในการเพิ่ม response times โดยเก็บปริมาณข้อมูลมากใน remote disk cache

เพื่อให้ cache ของเรา optimal เราสามารถ track cache size ดูว่ามัน spike เร็วแค่ไหน และใช้ข้อมูลนี้ fine-tune cache configuration ให้ optimal สำหรับความต้องการของแอปพลิเคชัน
ดูบล็อกโพสต์นี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า dashboard ติดตามขนาดตาราง Solid Cache
การ Detect Cache Anomalies ด้วย AppSignal
ในขณะที่ dashboards ของ AppSignal เป็นวิธีที่ elegant และ intuitive ในการติดตาม performance ของแอปพลิเคชัน น่าเสียดายที่เราไม่สามารถใช้เวลาทั้งวันดูกราฟสวยๆ ของ AppSignal ได้ นี่คือที่ที่ Anomaly Detection เข้ามามีบทบาท
Anomaly Detection ของ AppSignal ช่วยให้คุณสร้าง triggers ที่แจ้งเตือนคุณเมื่อ metric threshold เฉพาะถูกบรรลุ เช่น error rate เกิน 10% หรือ cache storage ถูกใช้หมดเร็วเกินไป

Anomaly detection ให้คุณทำงานต่อไป คุณสามารถ config AppSignal ให้แจ้งเตือนทาง email หรือ third-party collaboration platforms ยอดนิยมอย่าง Slack และ Discord ให้คุณมีความราบรื่นใจว่าคุณจะได้รับแจ้งถ้า trigger ถูก trigger และ monitor แอปพลิเคชันอย่าง proactive ป้องกัน bottlenecks ก่อนที่จะส่งผลต่อ performance และ scalability
พร้อมเริ่ม Monitor Cache ของแอปแล้ว?
ที่ AppSignal เราพยายาม awesome ในทุกอย่างที่เราทำ นั่นคือเหตุผลที่เราทำงานหนักเพื่อให้แน่ใจว่าเรารองรับ latest Rails features และ functionality ทั้งหมด
เมื่อเราถามลูกค้าว่าทำไมพวกเขาคิดว่า AppSignal awesome พวกเขาบอกว่าพวกเขาชอบ:
- อินเทอร์เฟซที่เข้าใจง่ายและนำทางสะดวก
- ราคาที่เรียบง่ายและคาดการณ์ได้
- Developer-to-developer support
หากคุณยังไม่ใช่ลูกค้า AppSignal คลิกที่นี่เพื่อสร้าง trial account ใหม่ หากคุณเป็น trial user ใหม่ ติดต่อเราเมื่อคุณเริ่ม push monitoring data และเราจะส่ง package ของ Stroopwafels ให้คุณ 🍪!
อยากเรียนรู้เพิ่มเติมเกี่ยวกับ Solid Cache? เราแนะนำให้ดู talk ของ Donal McBreen ที่ Rails World บน YouTube
Connor James
Developer Marketing Manager ที่ AppSignal ผู้ติดพอดแคสต์ รัก cannoli จนคิดจะเปลี่ยนชื่อเป็น Connoli เขาคิดว่ามีตัว 'u' ในคำว่า color คุณอาจพบเขาบนไมค์ บนเวที หรือนอนบนโซฟาเมื่อเขาออฟดิวตี้
บทความทั้งหมดโดย Connor James