Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DMMブックスにNewRelicを導入した話
Search
ono-hiroshi1
January 24, 2022
Technology
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DMMブックスにNewRelicを導入した話
ono-hiroshi1
January 24, 2022
More Decks by ono-hiroshi1
See All by ono-hiroshi1
ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話
onohiroshi1
1
4.6k
モダンとレガシーが混在するDMMブックスで培った SRE Practices
onohiroshi1
0
6.6k
60億円の損害を出した 「DMMブックス」 70%OFFキャンペーンでプラットフォームに何が起きていたか
onohiroshi1
8
49k
Other Decks in Technology
See All in Technology
世界、断片、モデル。そして理解
ardbeg1958
1
140
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
0
150
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
160
穢れた技術選定について
watany
18
5.8k
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
350
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
440
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
1
180
シンガポールで登壇してきます
yama3133
0
290
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
0
550
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
250
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
160
Featured
See All Featured
Bash Introduction
62gerente
615
220k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
It's Worth the Effort
3n
188
29k
Visualization
eitanlees
152
17k
Between Models and Reality
mayunak
4
380
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Designing for Timeless Needs
cassininazir
1
380
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
180
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
Transcript
© DMM.com DMMブックスに NewRelicを導入した効果 合同会社 DMM.com SRE部 小野 博志 2022/1/20
© DMM.com 自己紹介 2 小野 博志 / Ono Hiroshi 合同会社DMM.com
ITインフラ本部 SRE部 エンジニアリング マネージャー 2005年に新卒で中小独立系Sierに入社。Javaを使ったWeb系開発に従事。 2008年よりMSP(マネージド・サービス・プロバイダ)の業務に従事。アカウントSEから始まり、サービス企画や テクニカルディレクターを務める。エンタープライズの領域で大規模なコーポレートサイト、WebCMSを中心とし て担当していた。 2018年よりB2Cもやってみようかなって思って2020年にDMM.comに入社。DMMブックスやNewRelicの導 入推進を主に担当しています。 たまに山登りしてます
© DMM.com 最初にPRさせて下さい! 3
© DMM.com 話題のコミックや小説などを パソコンやスマホで 読めるプラットフォーム コミック、雑誌、小説、写真集等の電子書籍を配信しております。現在は 66万冊以上の作品を取り揃えており さまざまなジャンルの作品を提供しています。
© DMM.com 本題 5
© DMM.com 導入背景 6 • DMMブックスは20年以上の歴史を持つサービスで、段階的にモダンなアーキテクチャに変えていってはい ます。ただし、まだレガシーなアーキテクチャが一部残るシステムになっています。 • モニタリングツールはDatadogを利用していました。インフラストラクチャ(AWSインテグレーション含む)は活 用できていましたが、APMはPHPフレームワークが対応しておらず取得できる情報は非常に限定的で活用
できていませんでした。 • またログ周りが非常に高額になっており、一部ログを破棄していてもコストがかなりかさんでおりプラット フォーム全体に対するコストバランスに課題がありました
© DMM.com DMMにおけるNewRelicの導入状況 7 • 全社的には2年前にDatadogの導入を推進していたこともあり、Datadogの利用が多めです • NewRelic One の登場で改めて検証しなおし、DMMブックス含めDMM動画、オンラインサロンなどい
くつかのサービスで利用してもらうようになっています • (当時ではないが)最近は3ヶ月で1〜2件ぐらいのペースでプロダクトに対して部分的または全面的に 導入してもらっていました。
© DMM.com APMの導入 Step.1 8
© DMM.com AWSの制約でAPMを入れるもCPU高負荷に・・ 9 • PHP Agent (諸事情ありバージョン古め) を利用している •
ステージングでは気づかず、本番投入するとピーク時にレスポンスタイムが2〜3倍悪化することに・・・ • newrelic.transaction_tracer.detail = 0 (トレースを限定的にする)を試してみたが状況は変わらず だった。newrelic.transaction_tracer.enabled = false (欲しい情報が出なくなったので見送った) • 調べてみると時刻周りのクロックソースがXenの場合に問題がありそうだと分かった
© DMM.com AWSサポートに問い合わせるも 10 • Fargateのクロックソースに何が選択されるかは内部仕様で公開されてないとのこと • ただガチャっぽく、何度か試すと問題ないクロックソース(kvm-clock)が選ばれることがある 公式からはこれ以上情報貰えそうにないので後は個別検証した •
Fargate PV を変更(1.3 -> 1.4など) サービス作り直すレベルの変更で変わるらしく、一度問題ないク ロックソースになると固定になるような動きになっていた。 • DMMブックスはこれで問題が解消したので再度本番投入した。以後数百回デプロイしているが問題は 再発したことはない
© DMM.com 導入した結果 (1) 11 • 負荷の高いSQLが簡単に見つかるようになった。 この時点ではAWSインテグレーションは Datadog使っています
© DMM.com 導入した結果 (2) 12 • デプロイメントマーカーを活用することで、デプロイ単位でのレスポンスタイムの影響がわかりやすくな り、原因調査がしやすくなった
© DMM.com 導入した結果 (3) 13 • もちろんトレース・スパンを分析することで非効率な処理を見直すこともできました。 この時点ではAWSインテグレーションは Datadog使っています
© DMM.com 全体導入 Step.2 14
© DMM.com 複数チームがNewRelicで分析できるように 15 インフラストラクチャ、APMが一つにつながった事から派生して最近ではモバイル(まずは Android)も導入することに。 様々なチームが一つのツール上で横断的に調査ができるようになり、開発スピードの向上につながった
© DMM.com 「サイトが遅い」を定量的に分析できるように 16 ユーザ体感でサイトが遅いというモニタリングを NewRelicブラウザの機能の一つ、CoreWebVitalsとして取得できるようになり、Metric Aggregatorと組み合わせて長期トレンドに変換し、改善指標として複数のチームでモニタリングしていくことに
© DMM.com SRE部が横断的に見ることでナレッジ展開 17 DMMブックス固有の話ではないですが、各プロダクトの NewRelicアカウントを横断的にみることで各プロダクトでよい取り組み、ダッ シュボードなど別のプロダクトへ取り込むことができ全体的な最適化への取り組みが可能になった。
© DMM.com 月額コストの削減に繋がった 18 Datadogでは月額コストが高かった兼ね合いで一部ログを捨てていた。その結果ピーク時にログが欠損するという課題があった。 NewRelicではすべてのログを取りつつも大きなコスト削減になり、大きな効果が得られました。
© DMM.com 監視テンプレート(Terraform)の作成 19 現在ブラッシュアップ中ではあるが、よくある監視内容(例えば CPU使用率監視やデータベースの死活監視など)は SRE部が提供する NewRelic Alertの監視テンプレートを利用すれば各サービス単位で最低限の監視はすぐに導入できるように。
© DMM.com まとめ 20
© DMM.com 良かったこと一覧(他にもありますが) 21 • APMできちんとアプリケーションがモニタリングできるようになり改善活動が捗った • コスト削減になり浮いたコストで新しいモニタリングができるように • CoreWebVitalsをモニタリングするようになり、ユーザ目線の遅いが定量的に図れるようになりました
• SREやネイティブなど様々なチームが共通のモニタリングツールを見るようになり、障害調査や性能情 報などを共有しやすくなりました
© DMM.com 宣伝 22 https://book.dmm.com/coupons/