SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
ISUCONの話
実践編
2015/08/19
ISUCON夏期講習
Treasure Data, Inc.
田籠聡(tagomoris)
Satoshi "Moris" Tagomori
(@tagomoris)
Fluentd, Norikra, MessagePack-Ruby,...
Docker logging driver for Fluentd (docker v1.8)
Treasure Data, Inc.
おしらせ
• YAPC::Asia 2015

「ISUCONの勝ち方」 by @kazeburo

08/22 10:00∼ (トラックE)
• YAPC::Asia 2015

「How to create/improve OSS product and its community」 by @tagomoris

08/22 20:20∼ (前夜祭セッション)
今後の練習について
• GCPでisucon4予選環境を作る
• https://github.com/isucon/isucon4/tree/master/
qualifier/gcp
• Vagrantなどでその他
• http://d.hatena.ne.jp/tmatsuu/20150815/1439643715
実践編
• 予選と決勝の相違点
• 予選の準備
• ISUCONの準備
• ISUCONでやること(予選編)
• 決勝の準備
• ISUCONでやること(決勝編)
• ISUCONアプリケーションのチューン
• ISUCONアプリケーションの設計と再設計
予選と決勝の相違点
• 同じところ
• 競技内容、競技時間、チームプレイ
• 違うところ
• 実施環境 (リモート vs 会場)
• サーバ環境 (クラウド vs オンプレ)
• サーバ台数 (1 vs 3~5)
競技そのものについては変わらない
= 概要として重要なものは同じ
実施環境の違い
• 予選はリモート実施
• チームメンバーどうしがリモートでも構わない
• とはいえ個人的には集まっての参加をお勧めします
サーバ環境の違い
• 予選はクラウド上の特定のインスタンスタイプを指定
• 間違えると失格なので注意
• イメージを与えられる(通常セットアップ済み)
• そのクラウドサービスのアカウントが必要
• 決勝は主催者が準備したサーバを与えられる
• 複数台与えられる
• 1台以外は未セットアップ、ということもある
• サーバセットアップの能力(速さ)も多少重要に
サーバ台数の違い
• 予選は1台、決勝は複数台(3∼5?)
• アプリケーションの設計に非常に大きな影響がある

(後述)
予選の準備
• 使用クラウドサービスのアカウント取得
• 今年はGoogle Compute Engine
• Billingの設定が必要(クレジットカード)
• 操作方法を学ぶ
• 少なくとも1度はサーバを立ててログインしてみる
• 手元に必要な環境を作る (SDKのインストール等)
ISUCONの準備
• git/ssh/sdk/チャットツールなど、使うものを える
• そしてそれに慣れておく
• 制限時間内でのチームとしての動きかたを決めておく
• 実際に7時間とって練習してみるとよい
• 誰が何を使えて何ができるのかがわかってくる
• 変更したコードのデプロイ手順・方法に矛盾がないようにして
おく
ISUCONでやること(予選編)
• 初動
• レギュレーションを読む
• インスタンス起動、アプリケーションの稼動確認
• 初期状態の保存 (特にソースコードと設定)
• 初期値の計測、アクセスログの保存と分析
• アプリケーションのチューン(後述)
• 終了前後
• スコアの確認、ソースコードや設定の保存
• 主催者への提出物などを確実に (ミスると失格だぞ!)
レギュレーションを読む(1)
• ものすごく重要だけど見落とされやすい
• 後悔したくなかったらレギュレーション読みに15分使お
う
レギュレーションを読む(2)
• スコア算出方法の確認
• そもそも何をやったらスコアが上がるか?
• どのリクエストの高速化がスコア上昇に寄与するか?
• こだわってもスコアに関係ないリクエストはないか?
• マイナス要因となるものはあるか?
(参考) ISUCON4決勝のスコア算出ルール
• ベンチマークサーバによる採点配分は以下のとおりとする。
• 広告主によって広告の入稿が成功する … 3 点
• 入稿された広告動画ファイルが配信される(impression) … 0.001 点
• 入稿時に指定した destination URLに1アクセスが発生する(click)
… 1 点
• 負荷走行終了時、1つのスロット内の全ての広告が配信されていた場合、
そのスロットにおける広告の表示回数の5倍が得点に加算される(公平性
ボーナス)
レギュレーションを読む(2+)
• なおスコア算出ルールはそれ単独だとあまり意味がない
• ベンチマークが送ってくるリクエストのパターンを計測して組合
せて考えよう
• 配点が大きくてもリクエスト数がほとんどなければ意味がない
• 配点が小さくてもほとんどのリクエストがそれなら意味がある
• マイナス配点になってしまってもごく少数なら受け入れてもい
いかも
• この意味もあって初期ベンチマークの走行とその記録は重要
• アクセスログをとっておいて分析しよう
レギュレーションを読む(3)
• 失敗条項
• どういうケースで失格となるかをきちんと把握する
• 過去の例: 毎回異なるのできちんとチェックすること!
• 変更を要求するリクエストの内容が1秒後に参照リクエストの内容に
反映されていなければ失格
• HTMLのDOM構造が変わっていたら失格
• JS/CSS/画像に変化があったら失格
• 画像がピクセル数において∼%以上変わっていたら失格
• サーバ再起動後に再起動前の状態を再現できなければ失格
レギュレーションを読む(4)
• ベンチマーク走行の詳細を把握しておく
• 並列度を指定するオプションがないか? その値の範囲
は?(予選・決勝)
• アクセス先IPアドレスはひとつだけ? 複数指定可能?(決
勝)
• ベンチマークの走行時間は? 作業中と本番計測で違い
は無いか?(決勝)
決勝の準備
• あまりない
• 予選でできなかったことがあったら復習しておく
• 特に作業手順や情報の共有まわり
• 前日よく寝る、当日余裕をもって集合する
• あんまり環境の準備に気合いを入れすぎない
• 精神の余裕が重要
ISUCONでやること(決勝編)
• 予選とほぼ同じ
• 終了時のみ異なるので注意
• 決勝は作業終了時の状態を使って主催者が別途計測を
回し、そのスコアで順位を決定
• 作業終了時にきちんと動いている必要がある
ISUCONアプリのチューン
• DBサーバ
• Webサーバ
• アプリケーションサーバ
• OS
• アプリケーションコードとSQL、その他DBアクセス
• キャッシュの導入
DBサーバ
• クエリ単位のもの
• インデックスの追加
• サーバ単位のもの
• バッファ設定変更
• コネクション単位の設定変更
Webサーバ
• そもそもサーバを変更する
• Apache httpd -> Nginx など
• パラメータの変更
• プロセス・スレッド数設定、最大コネクション数設定
• レスポンス処理方法の変更
• 静的ファイル(js, css, 変化しないhtml)をWebサーバから返す
アプリケーションサーバ
• プロセス数・スレッド数の変更
• ソフトウェアの変更
• Unicorn -> Rhebok, Starman -> Starlet, などなど
OS
• ファイアウォールを切る! (ISUCON以外でやらないでね)
• SELinuxを切る! (石川さんごめんなさい ※業界の慣習)
• ほか、だいたい途中で必要になる系
• ソケット再利用間隔の設定など sysctl系
• プロセスがopenできるディスクリプタ数など
limits.conf系
ISUCONアプリの再設計(1)
• 複数サーバをきちんとうまく使う
• CPU、メモリ、Disk I/O、ネットワーク帯域
• データの正規化/非正規化により計算量を減らす
• 無駄なデータベース問合せを減らす
• レスポンスを待たせてもいいリクエストのハンドラに処
理をまとめる
ISUCONアプリの再設計(2)
• キャッシュ
• 処理の非同期化
• 画像・動画・CSS/JSファイルなどデータの最適化
• レスポンス変更によるHTTPリクエストの削減
Super advanced section
決勝で優勝を争いたいあなたへ
ISUCONアプリの再設計(3)

適切な分散処理構成の設計とデプロイ
• ネットワーク帯域を稼ぐ(Webサーバを分散する)
• 分散できるCPU処理をできるだけ分散する
• 分散できない処理は適度にまとめる
• キャッシュしたコンテンツを即座に返す
• 表裏のネットワークがあるなら活用する
• 何度も返すコンテンツは確実にキャッシュする
• Failにならない程度にデータに手を入れる
• HTTPのプロトコルを知る
• keepalive, redirect, cookie, cache-control, ...
再設計例: ISUCON4決勝(before)
server1
Redis
Starman
(app server)
Nginx
server2 server3
1cpu 2cpu 2cpu
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
NginxとStarletを
unix domain socketで繋ぐ
(TCP handshakeの削減)
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
Webサーバは2CPUの
2台で構成(3台にも可能)
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
リクエストの多い参照系の
アプリケーション処理もここ
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
1CPUのサーバは通常は
RedisでDBに専念
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
ただし初期化や更新系
処理だけはここに隔離
頻度が低いから問題なし
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
動画コンテンツの保存はNginxでWebDAV
HTTP PUTだけで保存できるし
保存した内容をリクエストに対して
直接返せる
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
動画の投稿リクエストは遅くてもペナルティ無し
レスポンスを返す前に全NginxにPUTする
レスポンスの直後から参照リクエストに応答できる
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
なお全サーバは実は同じ設定ファイルと
コードで動作している
3台にリクエストを流す構成への変更が容易
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
リダイレクトしているレスポンスに
直接コンテンツを返してもOK
なのを確認して実施
server1
Redis
Starlet
initialize
post ads
reports
Nginx(webdav)
server2
Starlet
get ad
post count
get redirect
server3
再設計例: ISUCON4決勝(after)
1cpu 2cpu 2cpu
Nginx(webdav) Nginx(webdav)
Starlet
get ad
post count
get redirect
+ Cache-Control !
がんばれ!

Mais conteúdo relacionado

Mais procurados

Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Taro L. Saito
 
Spark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSpark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSotaro Kimura
 
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightKafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightYahoo!デベロッパーネットワーク
 
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Sotaro Kimura
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?Sotaro Kimura
 
松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入matsumoto_katsuhiko
 
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03Aya Komuro
 
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集matsu_chara
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015Masahiro Nagano
 
Embulkを活用したログ管理システム
Embulkを活用したログ管理システムEmbulkを活用したログ管理システム
Embulkを活用したログ管理システムAkihiro Ikezoe
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた伊藤 祐策
 
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤Sotaro Kimura
 
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingchibochibo
 
Gearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime EngineGearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime EngineSotaro Kimura
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞYoshitaka Fujii
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
Modern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured StreamingModern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured StreamingSotaro Kimura
 

Mais procurados (20)

Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
 
Cassandra Summit 2016 注目セッション報告
Cassandra Summit 2016 注目セッション報告Cassandra Summit 2016 注目セッション報告
Cassandra Summit 2016 注目セッション報告
 
Spark Structured Streaming with Kafka
Spark Structured Streaming with KafkaSpark Structured Streaming with Kafka
Spark Structured Streaming with Kafka
 
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightKafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
 
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
 
松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入
 
SparkTokyo2019NovIshizaki
SparkTokyo2019NovIshizakiSparkTokyo2019NovIshizaki
SparkTokyo2019NovIshizaki
 
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
 
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
 
Embulkを活用したログ管理システム
Embulkを活用したログ管理システムEmbulkを活用したログ管理システム
Embulkを活用したログ管理システム
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた
 
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
 
ビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streamingビッグじゃなくても使えるSpark Streaming
ビッグじゃなくても使えるSpark Streaming
 
Gearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime EngineGearpump, akka based Distributed Reactive Realtime Engine
Gearpump, akka based Distributed Reactive Realtime Engine
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp
Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjpHadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp
Hadoop Summit 2016 San Jose ストリーム処理関連の報告 #streamctjp
 
Modern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured StreamingModern stream processing by Spark Structured Streaming
Modern stream processing by Spark Structured Streaming
 

Semelhante a ISUCON夏期講習2015_2 実践編

PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpYuji Kubota
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet ServicesNaoto Gohko
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1Takano Masaru
 
OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告Mitsuhiro SHIGEMATSU
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)Takahiro Shinagawa
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101Naoto Gohko
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...Insight Technology, Inc.
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Takamasa Maejima
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたYou&I
 
20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料Takahiro Iwase
 
VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料Shinichiro Isago
 
アセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるアセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるRYUTARO OSAFUNE
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションTakashi Kanai
 

Semelhante a ISUCON夏期講習2015_2 実践編 (20)

PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
JavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jpJavaOne 2016 Java SE Feedback #jjug #j1jp
JavaOne 2016 Java SE Feedback #jjug #j1jp
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1
 
OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
2016-11-30 BitVisor Summit 5 「BitVisorの現状と今後」(公開版)
 
ヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージ
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
 
cloudstack devcloud
cloudstack devcloudcloudstack devcloud
cloudstack devcloud
 
Fluentd casual
Fluentd casualFluentd casual
Fluentd casual
 
20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料
 
VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料VisualStudio2010ReadyDay Azureセッション資料
VisualStudio2010ReadyDay Azureセッション資料
 
アセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるアセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみる
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 

Mais de SATOSHI TAGOMORI

Ractor's speed is not light-speed
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speedSATOSHI TAGOMORI
 
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/OperationsGood Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/OperationsSATOSHI TAGOMORI
 
Invitation to the dark side of Ruby
Invitation to the dark side of RubyInvitation to the dark side of Ruby
Invitation to the dark side of RubySATOSHI TAGOMORI
 
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)SATOSHI TAGOMORI
 
Make Your Ruby Script Confusing
Make Your Ruby Script ConfusingMake Your Ruby Script Confusing
Make Your Ruby Script ConfusingSATOSHI TAGOMORI
 
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in RubyHijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in RubySATOSHI TAGOMORI
 
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive OperationsLock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive OperationsSATOSHI TAGOMORI
 
Data Processing and Ruby in the World
Data Processing and Ruby in the WorldData Processing and Ruby in the World
Data Processing and Ruby in the WorldSATOSHI TAGOMORI
 
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: BigdamPlanet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: BigdamSATOSHI TAGOMORI
 
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise BusinessTechnologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise BusinessSATOSHI TAGOMORI
 
Ruby and Distributed Storage Systems
Ruby and Distributed Storage SystemsRuby and Distributed Storage Systems
Ruby and Distributed Storage SystemsSATOSHI TAGOMORI
 
Perfect Norikra 2nd Season
Perfect Norikra 2nd SeasonPerfect Norikra 2nd Season
Perfect Norikra 2nd SeasonSATOSHI TAGOMORI
 
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT ToTo Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT ToSATOSHI TAGOMORI
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersSATOSHI TAGOMORI
 
How To Write Middleware In Ruby
How To Write Middleware In RubyHow To Write Middleware In Ruby
How To Write Middleware In RubySATOSHI TAGOMORI
 
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldModern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldSATOSHI TAGOMORI
 
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceOpen Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceSATOSHI TAGOMORI
 
Fluentd Overview, Now and Then
Fluentd Overview, Now and ThenFluentd Overview, Now and Then
Fluentd Overview, Now and ThenSATOSHI TAGOMORI
 

Mais de SATOSHI TAGOMORI (20)

Ractor's speed is not light-speed
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speed
 
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/OperationsGood Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/Operations
 
Maccro Strikes Back
Maccro Strikes BackMaccro Strikes Back
Maccro Strikes Back
 
Invitation to the dark side of Ruby
Invitation to the dark side of RubyInvitation to the dark side of Ruby
Invitation to the dark side of Ruby
 
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
 
Make Your Ruby Script Confusing
Make Your Ruby Script ConfusingMake Your Ruby Script Confusing
Make Your Ruby Script Confusing
 
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in RubyHijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in Ruby
 
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive OperationsLock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive Operations
 
Data Processing and Ruby in the World
Data Processing and Ruby in the WorldData Processing and Ruby in the World
Data Processing and Ruby in the World
 
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: BigdamPlanet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: Bigdam
 
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise BusinessTechnologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise Business
 
Ruby and Distributed Storage Systems
Ruby and Distributed Storage SystemsRuby and Distributed Storage Systems
Ruby and Distributed Storage Systems
 
Perfect Norikra 2nd Season
Perfect Norikra 2nd SeasonPerfect Norikra 2nd Season
Perfect Norikra 2nd Season
 
Fluentd 101
Fluentd 101Fluentd 101
Fluentd 101
 
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT ToTo Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT To
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
 
How To Write Middleware In Ruby
How To Write Middleware In RubyHow To Write Middleware In Ruby
How To Write Middleware In Ruby
 
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldModern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
 
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceOpen Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
 
Fluentd Overview, Now and Then
Fluentd Overview, Now and ThenFluentd Overview, Now and Then
Fluentd Overview, Now and Then
 

Último

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Último (8)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

ISUCON夏期講習2015_2 実践編