秒間 200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術

講演情報

タイトル

秒間 200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術

概要

秒間20万リクエストをさばくWeb広告入札システム "Logicad" 開発におけるパフォーマンスチューニング術を紹介します。

私たちが日々観ているWebサイトの広告枠。それは、ページビューごとに広告を表示する権利がオークションにかけられ、自動入札によって枠の買い付けが行われ、入札額の最も高かった入札者の広告だけが表示される、という世界です。国内外の各社が最適な広告をベストな金額で入札・表示するため、日々アルゴリズムの改良やデータセットの変更などを繰り広げており、まさに技術者たちの闘いの世界と言えましょう。私たちも日々様々なコードの追加をしています。一方、そのオークションの開催期間はわずか100ミリ秒なので、その時間内に入札をしなければならないという制約があります。ゆえに、計算量とレスポンスタイムとを両立させることは、私たちにとっての絶対防衛ラインです。

Java 向けのプロファイラは世に数多ありますが、Logicad では Java 向けのツールではなく Linux 上で perf tools を用いてデータを集め、 FlameGraph を用いてアプリケーションのボトルネックを可視化・チューニングし、平均3ミリ秒のレイテンシを維持しています。

FlameGraph は、Netflix の Brendan Gregg 氏が開発したビジュアライズツールであり、perf tools の出力をグラフィカルに出力できます。ハードウェア内部の動作・OSの動作・アルゴリズムの問題などを特定し、このセッションでは Logicad 開発時に perf tools と FlameGraph を活用どのようにチューニングを行なっているか、および実際の Logicad での実例をデモでお見せします。

想定している聴講者層

パフォーマンスチューニングに興味のある方、またはこれから関わるかもしれない方

カテゴリ

Server Side Java

難易度

中級者向け

種類

一般枠 (45分)

言語

日本語

講演者情報

磯田 浩靖
ウルシステムズ株式会社

Java + Springを中心とした開発を行うSIerを経て、2016年からウルシステムズ株式会社に所属しているシニアコンサルタントです。 最近は、スクラムとかミリ秒を競うシステムに携わっています。

認定スクラムマスタ AWS Certified Solutions Architect - Professional AWS Certified Security - Specialty

山崎 良祐
ソネット・メディア・ネットワークス株式会社

広告業界の中にこっそりと棲息するプログラマ。Rubyの世界からJavaの世界にやってきました。 最近はコード書くよりもデータ分析ばっかりやってます。 代表作は MySQL Connector/J の1行パッチ。趣味は小説を書くことでした。