Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

ติดตามประสิทธิภาพ Solid Cache ใน Rails ด้วย AppSignal

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:

  1. ก่อนอื่น เราต้อง config Solid Cache เป็น cache store ใน env config files ที่ต้องการ:

  1. จากนั้นเราต้องเพิ่ม solid_cache ลงใน gemfile
  2. จากนั้นเราต้องสร้าง และรัน 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

ติดตามประสิทธิภาพ Solid Cache ใน Rails ด้วย AppSignal

หากคุณอยากติดตั้ง 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 แล้ว:

ติดตามประสิทธิภาพ Solid Cache ใน Rails ด้วย AppSignal

ในกราฟข้างต้น เราเห็นว่า SkySignal มี response times ค่อนข้างเร็ว และเรายังเห็น response time spikes ที่เกิดจาก SkySignal consuming batches ของ weather data ใหม่

การ Monitor Cache Size

เราเลือกใช้ caching เป็นวิธีที่เสถียรและมีประสิทธิภาพในการเพิ่ม response times โดยเก็บปริมาณข้อมูลมากใน remote disk cache

ติดตามประสิทธิภาพ Solid Cache ใน Rails ด้วย AppSignal

เพื่อให้ 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 ถูกใช้หมดเร็วเกินไป

ติดตามประสิทธิภาพ Solid Cache ใน Rails ด้วย AppSignal

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

ติดตามประสิทธิภาพ Solid Cache ใน Rails ด้วย AppSignal

Connor James

Developer Marketing Manager ที่ AppSignal ผู้ติดพอดแคสต์ รัก cannoli จนคิดจะเปลี่ยนชื่อเป็น Connoli เขาคิดว่ามีตัว 'u' ในคำว่า color คุณอาจพบเขาบนไมค์ บนเวที หรือนอนบนโซฟาเมื่อเขาออฟดิวตี้

บทความทั้งหมดโดย Connor James