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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
200
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
160
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
サイバー捜査員研修(前半)
nomizone
1
2k
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
240
システム思考で問題に対処する
yussak
0
230
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
13
8.5k
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
220
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
130
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
240
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
700
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
240
Writing Fast Ruby
sferik
630
63k
Designing for Performance
lara
611
70k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Unsuck your backbone
ammeep
672
58k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
690
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/