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
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
0
420
Model Studio CLI × Token Plan
maigo999
0
200
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
140
:syncing_time:
sksat
2
160
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
3
480
AI時代のアウトプット――変わったこと、変わらないこと / Devsumi 2026 Kansai #devsumi
jnchito
0
380
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
1
1k
35分でわかるEffective Platform Engineering
nwiizo
5
570
FDEの心得
noriakioji
5
6.4k
20260817_生成AIの動向と中学校・高等学校での活用を考える_v1.00_公開用
doradora09
PRO
0
160
NANDでも描画したい!
nichica906
1
300
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
360
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Designing for humans not robots
tammielis
254
26k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
How to build a perfect <img>
jonoalderson
1
5.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
930
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
300
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/