狠狠撸

狠狠撸Share a Scribd company logo
inside pixiv’s infrastructure
?application cluster side?
久保 達彦
?bokko@pixiv.com
自己紹介
● 久保達彦(bokko@pixiv.com)
● @cubicdaiya(twitter, github)
● シニアソフトウェアエンジニア@pixiv. Inc
自己紹介
◎ピクシブでの担当分野
○ ミドルウェアの開発?運用
○ インフラ運用?管理
○ アプリケーション開発?メンテ
○ 採用活動
○ その他色々
自己紹介
◎開発?公開中のOSS
○ mruby_nginx_module
■ Embed mruby into Nginx
○ ngx_small_light
■ Dynamic Image Transformation with Nginx
○ neoagent
■ Yet Another Memcached Proxy Server
○ etc...
辫颈虫颈惫について
辫颈虫颈惫について
イラストコミュニケーションサービス
辫颈虫颈惫について
● Webサイト
○ www.pixiv.net
○ m.pixiv.net
○ touch.pixiv.net
○ dic.pixiv.net
○ comic.pixiv.net
○ www.pixiv.com
● スマートフォンアプリ
○ iOS、Android
● etc...
辫颈虫颈惫について
会員数 820万人
投稿作品数 38,000,000+
ページビュー 38億/月
ネットワーク帯域 10Gbps
サーバ台数 400台
inside pixiv’s infrastructure
inside pixiv’s infrastructure
Front Front???
Internet
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Front Front???
Cache Cache??? Cache???
Dispatcher Dispatcher???
Origin Origin??? Origin???
Other???
Other Other???
application cluster contents delivery cluster
今日は「application cluster」の話をします
Front Front???
Internet
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Front Front???
Cache Cache??? Cache???
Dispatcher Dispatcher???
Origin Origin??? Origin???
contents delivery cluster
Other???
Other Other???
application cluster
画像アップロードのシステムは時間の都合で
割愛するので詳しくは過去の資料を参照してください
● 辫颈虫颈惫の画像アップロードシステム
http://www.slideshare.net/cubicdaiya/pixiv-6261780
● pixiv thumbnails
http://www.slideshare.net/cubicdaiya/pixiv-thumbnails/
トピック
● 開発体制
● Inside application cluster
● データストア&キャッシュ戦略
● API for pixiv
トピック
● 開発体制
● Inside application cluster
● データストア&キャッシュ戦略
● API for pixiv
開発体制
● エンジニア30人くらい
○ インフラチームは5人
● 所謂Webアプリケーションの開発はPHPがメイン
○ レガシーなものからモダン(?)なものまで
○ 最近はRuby(Rails)が増えてる
● ミドルウェアはC、C++、Python、Lua等色々
○ PHPで書かれたデーモンもあるよ!
開発体制
● ソースコードはGitで管理
○ gitosis and github有料プラン(GHE使いたい)
○ www.pixiv.netだけで30万行くらいある
● Redmineでタスク管理 with バックログ
● PHPUnitを活用したテストスイート
● IRC活用
○ デプロイや自動テスト失敗時にbotがつぶやく
● 一日数回?十数回くらい本番にデプロイされる
トピック
● 開発体制
● Inside application cluster
● データストア&キャッシュ戦略
● API for pixiv
Inside application cluster
Front Front???
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Other???
Internet
Front
Front Front???
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Other???
Internet
Front
Internet
Front
■Nginx
ロードバランサー
兼
多目的リバースプロキシ
AP
Front Front???
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Other???
Internet
AP
Internet
AP
● アプリケーションサーバ
○ Apache&mod_php
○ Nginx&PHP-FPM
○ Unicorn&Rails
● ミドルウェア
○ APC
○ Fluentd
○ neoagent
○ etc..
KVS
Front Front???
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Other???
Internet
KVS
Internet
KVS
● KyotoTycoon
○ 半永続データストレージ
○ オンメモリキャッシュ
● MongoDB
○ APのFluetndからかき集めたデータ
■ エラーログ
■ スロークエリログ
■ アクティビティログ
■ etc
DB
Front Front???
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Other???
Internet
DB
Internet
DB
● MySQL
○ 5.1 or 5.5
○ 永続データストレージ
● 前段にLVSがいる
Other
Front Front???
AP AP AP
LVS
DB DB
??? ???
??? DB???
??? LVS KVS
Other
KVS???
Other???
Internet
Other
Internet
Other
● 監視系サーバ
○ Nagios
○ Munin
○ リソースモニタWebアプリ
■ written in PHP
● 定期実行バッチサーバ
○ almost written in PHP
● その他
○ 検索(Apache Solr)
○ レコメンデーションシステム
○ スタックフィード(タイムライン)
○ etc...
トピック
● 開発体制
● Inside application cluster
● データストア&キャッシュ戦略
● API for pixiv
データストア&キャッシュ戦略 in pixiv
● MySQL
○ 永続データストレージ
■ ユーザー、イラスト等、
サービスの根幹に関わるデータを保存
● KyotoTycoon
○ 半永続データストレージ
■ 消えても作り直せるデータのみ保存
■ 負荷の大きい箇所や素早い応答が必要な場面で使う
○ オンメモリキャッシュ
■ MySQLから取得して構築したデータをキャッシュ
データストア&キャッシュ戦略 in pixiv
● APC
○ ローカルデータキャッシュ(not オペコードキャッシュ)
● MongoDB
○ Capped Collection only
○ 一定期間のみ保存するログデータ用
● KVSClient
○ 多段キャッシュ(APCとKyotoTycoon)へ
透過的にアクセスするためのライブラリ
データストア/キャッシングレイヤー
データストア/キャッシングレイヤー
APC -> KyotoTycoon -> MySQLの順にアクセス
べたに书くと、
このコードの問題点
● 複雑
○ キャッシュが二段ある
● アプリケーション開発者が知らなければならない事項が多い
○ キャッシュの保持期限(expire)
○ 接続先ホスト
○ 接続先ポート番号
● あとで変更するのが大変
○ 複数箇所にコードが散らばる可能性がある
KVSClient
?The library for accessing to datastore transparently?
碍痴厂颁濒颈别苍迟を使うと、
元のコードと比較
べた書き KVSClientを使う
详解碍痴厂颁濒颈别苍迟
多段キャッシュへの透過的なアクセス
# 実はここでAPC -> 碍测辞迟辞罢测肠辞辞苍の顺にアクセスしてる
多段キャッシュへの透過的なアクセス
# 実はここでAPC -> 碍测辞迟辞罢测肠辞辞苍の顺にアクセスしてる
# APCにキャッシュがあればそれを返す
多段キャッシュへの透過的なアクセス
# 実はここでAPC -> 碍测辞迟辞罢测肠辞辞苍の顺にアクセスしてる
# APCにキャッシュがあればそれを返す
# なければKyotoTycoonから取得してAPCにキャッシュ
KVSClientはすべてを知っている
# $keyに関する設定を探索
設定はこんな感じ
# $keyに関する設定を探索
トピック
● 開発体制
● Inside application cluster
● データストア&キャッシュ戦略
● API for pixiv
去年くらいからの話
● Ruby(とRails)によるプロダクトが増え始める
○ 既存のPHPコードとの連携が問題に
○ Rubyで再実装とか?(行数的に)
● 提携企業向けにAPIを提供する機会がある
○ 昔はその都度イチから開発していた
○ 効率が悪いのでプラットフォーム化したい
去年くらいからの話
● Ruby(とRails)によるプロダクトが増え始める
○ 既存のPHPコードとの連携が問題に
○ Rubyで再実装とか?(行数的に)
● 提携企業向けにAPIを提供する機会がある
○ 昔はその都度イチから開発していた
○ 効率が悪いのでプラットフォーム化したい
API作ろう!
api.pixiv.private
api.pixiv.private
● pixivのデータを透過的に扱うためのRESTful API群
○ written in PHP
● pixiv内部からのみアクセス可能
● HTTP経由でほかの言語からでもアクセス可能
● 単なるPHPのライブラリとして使うこともできる
GET http://api.pixiv.private/v1/works.json
活用事例
飞飞飞.辫颈虫颈惫.肠辞尘の场合
飞飞飞.辫颈虫颈惫.肠辞尘の场合
飞飞飞.辫颈虫颈惫.肠辞尘の场合
ここ
Inside api.pixiv.private
● 全部PHPで書かれてる(過去の資産を活用するため)
○ 周辺ツールはRubyで書かれてたりする
● 高速な独自フレームワーク上に構築
○ 当初はSilexを使っていた
○ パフォーマンスに問題があって担当のエンジニアが
開発?移行
■ 現pixivチーム?リーダー
うわ???私のAPIおそすぎ????
pixiv.net は 29ms
ログインするだけの API が 90ms...
無料でできるプロファイリング
->今すぐチェック
とある開発者の驚愕
チューニング剧的ビフォーアフター
最適化前 平均 90ms
最適化後 平均 8ms
プロファイラ(xhprof)で
ボトルネックを調査しました。
xhprof master
Cyrill
厂颈濒别虫の初期化が遅い
ルーティングしたコントローラ
が1個だと 1.129ms
ルーティングしたコントローラ
が14個だと 29.178ms
ルーティングが遅い
実際のところ、Silexが遅いというよりは
● Silex以外にもボトルネックはたくさんあった
● 当時、パフォーマンスは重視されてなかった
● スケジュールがタイトで書きやすさ重視だった
● フレームワークの用途が合ってなかった
● RESTful APIのための薄いフレームワーク
● 所謂Webアプリケーション向けである必要はない
● ルーティング以外のことはしなくていい
● もっと先へ、加速したく(ry
僕たちが本当に欲しかったもの
ぼくがかんがえたさいきょうのAPI
専用PHPフレームワーク
?> ルーティングが速い
?> ルーティング以外のことをまっ
たくしないので初期化が
めっちょ速いフレームワーク
開発者曰く
tateseta
tateseta
The accelerator, test-enough, simple,
easy, tuned application-framework
というのは建前で
本当は縦セーターの略だそうです
速度比較:初期化
Silex:12.848ms tateseta:1.98ms
bootstrap tateseta
Hello, World! by tateseta
GET http://api.pixiv.private/v1/hello.json -> {“msg”: “Hello, World!”}
HTTP使わなくてもAPIが使える
HTTPリクエストを抽象化してるので
HTTPプロトコルを使わずにAPIを叩くことができる。
その他の工夫
● require は最小限に抑える
○ ルートが確定したコントローラしか読み込まない
● file_existsなどのIO系は遅いので使わない
○ コントローラのphpのファイルの存在チェックしない
● できるかぎり正規表現に頼らない(例:preg_match)
○ strpos や explode などで頑張る
api.pixiv.public
api.pixiv.public
● api.pixiv.privateのラッパー
● これもtateseta上に構築
● OAuth対応
● スマートフォンアプリ用のAPI群
● 3rd Party向けのAPIも提供中
● publicという名前だけど一般公開はしてないです
● pixivのシステムはいろんな言語やツールでできてる
○ PHPは今でも一番使われてます
○ 用途や条件に合わせて最適なものを選ぶのがよい
● システムの巨大化?複雑化には抽象化で対抗
○ インターフェースだけ決めて隠蔽する
● 近年はRuby(Rails)プロダクトも増えてきている
○ RESTful APIでハイブリッド言語開発
まとめ
Ad

Recommended

ソーシャルゲームのためのデータベース设计
ソーシャルゲームのためのデータベース设计
Yoshinori Matsunobu
?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi OHIRA
?
作る人から作りながら运用する人になっていく
作る人から作りながら运用する人になっていく
Ryo Mitoma
?
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
?
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
オラクルエンジニア通信
?
マイクロにしすぎた结果がこれだよ!
マイクロにしすぎた结果がこれだよ!
mosa siru
?
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
DeNA
?
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
?
础奥厂上で使えるストレージ十番胜负
础奥厂上で使えるストレージ十番胜负
Akio Katayama
?
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
?
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
?
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
MITSUNARI Shigeo
?
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
Google Cloud Platform - Japan
?
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
?
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
?
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
?
「スキルなし?実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし?実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
?
础顿搁という考えを取り入れてみて
础顿搁という考えを取り入れてみて
infinite_loop
?
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
富士通クラウドテクノロジーズ株式会社
?
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
NTT DATA Technology & Innovation
?
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
?
マルチテナントのアプリケーション実装?実践编?
マルチテナントのアプリケーション実装?実践编?
Yoshiki Nakagawa
?
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
suno88
?
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
?
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
Norishige Fukushima
?
辫颈虫颈惫の画像アップロードシステム
辫颈虫颈惫の画像アップロードシステム
Tatsuhiko Kubo
?
mruby_nginx_module at pyfes 2013.11
mruby_nginx_module at pyfes 2013.11
Tatsuhiko Kubo
?

More Related Content

What's hot (20)

DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
?
础奥厂上で使えるストレージ十番胜负
础奥厂上で使えるストレージ十番胜负
Akio Katayama
?
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
?
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
?
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
MITSUNARI Shigeo
?
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
Google Cloud Platform - Japan
?
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
?
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
?
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
?
「スキルなし?実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし?実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
?
础顿搁という考えを取り入れてみて
础顿搁という考えを取り入れてみて
infinite_loop
?
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
富士通クラウドテクノロジーズ株式会社
?
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
NTT DATA Technology & Innovation
?
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
?
マルチテナントのアプリケーション実装?実践编?
マルチテナントのアプリケーション実装?実践编?
Yoshiki Nakagawa
?
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
suno88
?
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
?
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
Norishige Fukushima
?
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
?
础奥厂上で使えるストレージ十番胜负
础奥厂上で使えるストレージ十番胜负
Akio Katayama
?
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
?
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
?
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
Xeon PhiとN体計算コーディング x86/x64最適化勉強会6(@k_nitadoriさんの代理アップ)
MITSUNARI Shigeo
?
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
Google Cloud Platform - Japan
?
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
?
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
?
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
?
「スキルなし?実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし?実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
?
础顿搁という考えを取り入れてみて
础顿搁という考えを取り入れてみて
infinite_loop
?
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
NTT DATA Technology & Innovation
?
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
?
マルチテナントのアプリケーション実装?実践编?
マルチテナントのアプリケーション実装?実践编?
Yoshiki Nakagawa
?
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
suno88
?
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
?
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
组み込み関数(颈苍迟谤颈苍蝉颈肠)による厂滨惭顿入门
Norishige Fukushima
?

Viewers also liked (9)

辫颈虫颈惫の画像アップロードシステム
辫颈虫颈惫の画像アップロードシステム
Tatsuhiko Kubo
?
mruby_nginx_module at pyfes 2013.11
mruby_nginx_module at pyfes 2013.11
Tatsuhiko Kubo
?
pixiv thumbnails
pixiv thumbnails
Tatsuhiko Kubo
?
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
Tatsuhiko Kubo
?
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
?
Scaling Apache Storm (Hadoop Summit 2015)
Scaling Apache Storm (Hadoop Summit 2015)
Robert Evans
?
ストリームデータ分散処理基盘厂迟辞谤尘
ストリームデータ分散処理基盘厂迟辞谤尘
NTT DATA OSS Professional Services
?
罢飞颈迟迟别谤のリアルタイム分散処理システム「厂迟辞谤尘」入门
罢飞颈迟迟别谤のリアルタイム分散処理システム「厂迟辞谤尘」入门
AdvancedTechNight
?
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - Verisign
Michael Noll
?
辫颈虫颈惫の画像アップロードシステム
辫颈虫颈惫の画像アップロードシステム
Tatsuhiko Kubo
?
mruby_nginx_module at pyfes 2013.11
mruby_nginx_module at pyfes 2013.11
Tatsuhiko Kubo
?
ngx_small_lightで動的サムネイル生成 #yapcasia2012
ngx_small_lightで動的サムネイル生成 #yapcasia2012
Tatsuhiko Kubo
?
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
?
Scaling Apache Storm (Hadoop Summit 2015)
Scaling Apache Storm (Hadoop Summit 2015)
Robert Evans
?
罢飞颈迟迟别谤のリアルタイム分散処理システム「厂迟辞谤尘」入门
罢飞颈迟迟别谤のリアルタイム分散処理システム「厂迟辞谤尘」入门
AdvancedTechNight
?
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - Verisign
Michael Noll
?
Ad

Similar to Inside pixiv's infrastructure?application cluster side? (20)

関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側
Gosuke Miyashita
?
30days Album の裏側 + 表側
30days Album の裏側 + 表側
Kensuke Nagae
?
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
smdkk
?
hbstudy25 劇的ビフォーアフター
hbstudy25 劇的ビフォーアフター
semind
?
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
Naoto Gohko
?
辫颈虫颈惫のインフラを支える技术
辫颈虫颈惫のインフラを支える技术
Ryuta Kamizono
?
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
?
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
?
Cloudianの構築と運用の基礎 (Cloudian Summit 2012)
Cloudianの構築と運用の基礎 (Cloudian Summit 2012)
CLOUDIAN KK
?
平均レスポンスタイム50尘蝉を笔别谤濒で捌く中规模サービスの実装/运用
平均レスポンスタイム50尘蝉を笔别谤濒で捌く中规模サービスの実装/运用
Tatsuro Hisamori
?
Cloudian nosql casestudy_20120318
Cloudian nosql casestudy_20120318
CLOUDIAN KK
?
InfoTalk springbreak_2012
InfoTalk springbreak_2012
Hiroshi Bunya
?
大规模ソーシャルゲームを支える技术~笔贬笔+惭测厂蚕尝を使った高负荷対策~
大规模ソーシャルゲームを支える技术~笔贬笔+惭测厂蚕尝を使った高负荷対策~
infinite_loop
?
摆大図解闭ピグライフはこう动いている
摆大図解闭ピグライフはこう动いている
Akihiro Kuwano
?
NHN techcon-20120519-fujimoto
NHN techcon-20120519-fujimoto
Masaki Fujimoto
?
HBase at LINE
HBase at LINE
LINE Corporation (Tech Unit)
?
HBase at LINE
HBase at LINE
Shun Nakamura
?
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
kishimotosc
?
地方公司がソーシャルゲーム开発を成功させるための10のポイント
地方公司がソーシャルゲーム开発を成功させるための10のポイント
Kentaro Matsui
?
関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側
Gosuke Miyashita
?
30days Album の裏側 + 表側
30days Album の裏側 + 表側
Kensuke Nagae
?
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
smdkk
?
hbstudy25 劇的ビフォーアフター
hbstudy25 劇的ビフォーアフター
semind
?
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
Naoto Gohko
?
辫颈虫颈惫のインフラを支える技术
辫颈虫颈惫のインフラを支える技术
Ryuta Kamizono
?
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
?
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
Masakazu Muraoka
?
Cloudianの構築と運用の基礎 (Cloudian Summit 2012)
Cloudianの構築と運用の基礎 (Cloudian Summit 2012)
CLOUDIAN KK
?
平均レスポンスタイム50尘蝉を笔别谤濒で捌く中规模サービスの実装/运用
平均レスポンスタイム50尘蝉を笔别谤濒で捌く中规模サービスの実装/运用
Tatsuro Hisamori
?
Cloudian nosql casestudy_20120318
Cloudian nosql casestudy_20120318
CLOUDIAN KK
?
InfoTalk springbreak_2012
InfoTalk springbreak_2012
Hiroshi Bunya
?
大规模ソーシャルゲームを支える技术~笔贬笔+惭测厂蚕尝を使った高负荷対策~
大规模ソーシャルゲームを支える技术~笔贬笔+惭测厂蚕尝を使った高负荷対策~
infinite_loop
?
摆大図解闭ピグライフはこう动いている
摆大図解闭ピグライフはこう动いている
Akihiro Kuwano
?
NHN techcon-20120519-fujimoto
NHN techcon-20120519-fujimoto
Masaki Fujimoto
?
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
Cassandraのトランザクションサポート化 & web2pyによるcms用プラグイン開発
kishimotosc
?
地方公司がソーシャルゲーム开発を成功させるための10のポイント
地方公司がソーシャルゲーム开発を成功させるための10のポイント
Kentaro Matsui
?
Ad

More from Tatsuhiko Kubo (11)

mruby_nginx_module
mruby_nginx_module
Tatsuhiko Kubo
?
mruby_nginx_module?Embedded mruby into Nginx?
mruby_nginx_module?Embedded mruby into Nginx?
Tatsuhiko Kubo
?
memcached proxy server development and operation
memcached proxy server development and operation
Tatsuhiko Kubo
?
ngx_small_light
ngx_small_light
Tatsuhiko Kubo
?
ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会
Tatsuhiko Kubo
?
尘别尘肠补肠丑别诲から碍测辞迟辞罢测肠辞辞苍へ
尘别尘肠补肠丑别诲から碍测辞迟辞罢测肠辞辞苍へ
Tatsuhiko Kubo
?
dtl - diff template library
dtl - diff template library
Tatsuhiko Kubo
?
Memorypool Key
Memorypool Key
Tatsuhiko Kubo
?
Diff
Diff
Tatsuhiko Kubo
?
mruby_nginx_module?Embedded mruby into Nginx?
mruby_nginx_module?Embedded mruby into Nginx?
Tatsuhiko Kubo
?
memcached proxy server development and operation
memcached proxy server development and operation
Tatsuhiko Kubo
?
ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会
Tatsuhiko Kubo
?
尘别尘肠补肠丑别诲から碍测辞迟辞罢测肠辞辞苍へ
尘别尘肠补肠丑别诲から碍测辞迟辞罢测肠辞辞苍へ
Tatsuhiko Kubo
?
dtl - diff template library
dtl - diff template library
Tatsuhiko Kubo
?

Inside pixiv's infrastructure?application cluster side?