AppSignal은 이제 Solid Cache를 지원하여 다른 Rails 캐시 스토어에서 얻을 수 있는 것과 동일한 심층적인 캐시 성능 통찰력을 제공합니다.
이 블로그 게시물에서는 Solid Cache에 대해 간략하게 살펴보고 AppSignal을 사용하여 앱 캐시를 모니터링하면 어떤 이점을 얻을 수 있는지 알려드리겠습니다.
솔리드 캐시란 무엇인가요?
플러그 앤 플레이, 데이터베이스에 구애받지 않는 원격 디스크 스토리지 캐시. 즉, 메모리가 저장되는 Redis 또는 Memcached와 달리 Solid Cache는 Active Record를 통해 SQL 데이터베이스를 사용하여 캐시를 디스크에 유지합니다.
Hey, 37Signal의 이메일 서비스와 같이 상대적으로 안정적인 대량의 기록 데이터가 있는 애플리케이션을 사용하는 경우 Solid Cache가 유리한 캐싱 방법일 수 있습니다. 새 메일 외에 이전 이메일이 갑자기 변경되지 않기 때문입니다.
AppSignal로 솔리드 캐시 모니터링
AppSignal은 풍차, 운하, 스트룹와플은 물론 비로 유명한 네덜란드에서 탄생했습니다. 비가 너무 많이 오네요. 자전거가 주요 이동 수단인 경우 언제 비가 올지 아는 것이 매우 중요하므로 우리는 SkySignal라는 Rails 앱을 만들었습니다. .
SkySignal은 API에 연결하여 네덜란드 전역의 날씨 데이터를 사용하여 사람들에게 자신의 위치에 비가 올지 알려주고 개발자가 건조한 동안에도 건조한 상태를 유지할 수 있도록 돕습니다 🥁.
Hey와 마찬가지로 우리는 캐싱을 사용하여 사용자에게 일기 예보를 신속하게 제공함으로써 애플리케이션의 응답 시간을 최적화하려고 합니다. 이 경우 과거 날씨 데이터를 캐시하기 위해 Solid Cache를 사용하겠습니다.
우리는 Hey가 했던 것과 같은 이유로 여기에서 Solid Cache를 선택했습니다. 이를 통해 Redis와 같은 대체 캐시를 사용하는 데 드는 비용의 일부만으로 대량의 데이터를 캐시할 수 있습니다.
솔리드 캐시 설치
Solid Cache 설치는 쉽습니다. Solid Cache의 Readme에 설명된 단계를 따르겠습니다:
- 먼저 원하는 환경 구성 파일에서 Solid Cache를 캐시 저장소로 구성해야 합니다.
- 그런 다음
solid_cache을 추가해야 합니다. 우리 gemfile에. - 그런 다음 Solid Cache 마이그레이션을 생성하고 실행하여 데이터베이스 캐시를 생성해야 합니다.
이 경우 기본 데이터베이스에 캐시를 쓰고 싶지만 원하는 경우 캐시를 다른 데이터 저장소로 분할하도록 Solid Cache를 구성할 수도 있습니다. 샤딩은 캐시를 더 작은 부분으로 나누고 이를 여러 데이터베이스(샤드)에 분산시킵니다.
다음으로 AppSignal을 설치하여 앱을 모니터링하겠습니다.
AppSignal 설치
AppSignal 설치는 간단합니다. 우리는 여러분이 시작하고 모니터링할 수 있도록 설치 마법사를 만들었습니다.
마법사를 시작하려면 AppSignal 애플리케이션 개요 페이지에서 "앱 추가" 버튼을 클릭하거나, 로그인한 경우 이 링크를 사용하여 마법사를 시작할 수 있습니다.
마법사는 AppSignal이 성공적으로 설치되면 이를 알려줄 것이며, 드물지만 문제가 발생하는 경우 개발자 간 지원을 위해 당사 지원팀에 넘겨주세요.

AppSignal을 수동으로 설치하려면 설치 문서를 따르세요.
이제 AppSignal을 설치했습니다. SkySignal 앱 성능 모니터링을 시작할 수 있습니다.
솔리드 캐시 모니터링
AppSignal은 애플리케이션의 성능 지표를 수집하여 실행 가능한 통찰력으로 변환합니다. AppSignal에는 개발자 친화적인 모니터링 도구로 구성된 대규모 툴킷이 있지만, 이 블로그 게시물에서는 다음에 중점을 둘 것입니다:
- 측정항목 대시보드: 오류율, 글로벌 응답 시간 등 앱 성능 데이터를 시각적으로 추적하세요. SkySignal의 경우 캐시 크기와 성능 시간을 살펴보겠습니다.
- 이상 감지: 측정항목이 특정 임계값을 초과할 때(예:짧은 시간 내에 캐시 크기가 크게 증가할 때) 경고하는 트리거를 만듭니다.
아, 그리고 Solid Cache를 사용하지 않더라도 걱정하지 마세요. Rails 캐시 저장소에 관계없이 AppSignal에서도 동일한 훌륭한 측정항목을 얻을 수 있습니다!
대시보드를 통한 솔리드 캐시 모니터링
AppSignal의 그래프는 애플리케이션 성능을 시각적으로 모니터링하는 훌륭한 방법입니다. 성능 급증에 대한 컨텍스트를 공유하기 위해 마커를 추가하고 그래프의 아무 곳이나 클릭하여 정확한 순간에 애플리케이션 성능의 스냅샷을 볼 수 있으므로 디버깅이 간편해집니다.
응답 시간 모니터링
이제 Solid Cache를 구성했으므로 앱 성능을 살펴보겠습니다.

위 그래프에서 SkySignal의 응답 시간이 상대적으로 빠르다는 것을 알 수 있으며, SkySignal이 새로운 날씨 데이터를 일괄적으로 소비하여 응답 시간이 급증하는 것도 볼 수 있습니다.
캐시 크기 모니터링
우리는 원격 디스크 캐시에 대량의 데이터를 저장하여 응답 시간을 향상시키는 안정적이고 효율적인 방법으로 캐싱을 사용하기로 결정했습니다.

캐시가 최적인지 확인하기 위해 캐시 크기를 추적하고, 캐시 크기가 빠르게 급증하는지 확인하고, 이 데이터를 사용하여 캐시 구성을 미세 조정하여 애플리케이션 요구 사항에 최적이 되도록 할 수 있습니다.
Solid Cache 테이블 크기를 추적하는 대시보드 설정에 대한 자세한 내용은 이 블로그 게시물을 참조하세요.
AppSignal로 캐시 이상 감지
AppSignal의 대시보드는 애플리케이션의 성능을 감시하는 우아하고 직관적인 방법입니다. 안타깝게도 AppSignal의 아름다운 그래프를 하루 종일 볼 수는 없습니다. 이것이 바로 이상 탐지가 필요한 곳입니다.
AppSignal의 이상 탐지를 사용하면 특정 지표 임계값이 충족되었는지(예:오류율이 10%를 초과했거나 캐시 스토리지가 너무 빨리 소모되고 있음) 알려주는 트리거를 생성할 수 있습니다.

이상 탐지를 통해 작업을 계속할 수 있습니다. 이메일이나 Slack 및 Discord와 같은 널리 사용되는 타사 협업 플랫폼을 통해 알림을 보내도록 AppSignal을 구성하면 트리거가 트리거되면 알림을 받을 수 있으므로 안심하고 애플리케이션을 사전에 모니터링하여 애플리케이션의 성능과 확장성에 영향을 미치기 전에 병목 현상을 방지할 수 있습니다.
앱 캐시 모니터링을 시작할 준비가 되셨나요?
AppSignal에서는 우리가 하는 모든 일에서 최고가 되기 위해 노력합니다. 이것이 바로 우리가 모든 최신 Rails 기능을 지원하기 위해 열심히 노력하는 이유입니다.
고객에게 AppSignal이 훌륭하다고 생각하는 이유를 물으면 고객은 다음을 좋아한다고 말합니다.
- 직관적으로 탐색하기 쉬운 인터페이스
- 간단하고 예측 가능한 가격 책정
- 개발자 간 지원.
아직 AppSignal 고객이 아닌 경우 여기를 클릭하여 새 평가판 계정을 만드세요. 새로운 평가판 사용자인 경우 모니터링 데이터 푸시를 시작한 후 저희에게 연락하시면 Stroopwaffles 패키지를 보내드리겠습니다 🍪!
솔리드 캐시에 대해 더 자세히 알고 싶으십니까? YouTube에서 Donal McBreen의 Rails World 강연을 시청해 보시기 바랍니다.
코너 제임스
AppSignal의 개발자 마케팅 관리자. 카놀리를 너무 좋아해서 이름을 코놀리로 바꾸는 것을 고려 중인 팟캐스트 중독자. 그는 색깔에 'u'가 있다고 생각합니다. 마이크 위에 있거나, 무대 위에 있거나, 근무 외 시간에 소파에 누워 있는 그를 볼 수 있습니다.
Connor James의 모든 기사