SlideShare a Scribd company logo
社内チューニンガソンで 
優勝したはなし 
2014-­‐08-­‐28 
#ssmjp 
Aki@nekoruri
自己紹介 
• Aki 
/ 
@nekoruri 
/ 
id:nekoruri 
– 某CA社のなかのひと 
– 入社14ヶ月目 
– 秋葉原生まれ大手町育ちの歌って踊れる 
江戸っ子フルスタックインフラエンジニア
社内チューニンガソン 
「TOTEC2014」 
• 昨年までは新卒のみで実施、今年から拡大 
• 3部門で実施 
– インフラ:ミドルウェア 
– フロントエンド:HTML+CSS+JS 
– サーバサイド:言語を問わないAPI開発 
– 各100人(新卒50/他50)を予選で選抜
インフラチューニング 
• ソースコード「より下」のチューニング 
– いわゆる「チューニンガソン」そのもの 
– ミドルウェアの選定、チューニング 
– サーバ構成の最適化
今回のお題 
_人人人人人人_ 
> MediaWiki < 
 ̄Y^Y^Y^Y^Y^Y ̄
主なガイドライン 
• 用意されたMediaWikiの応答速度を競う 
• ソース修正禁止(設定ファイルは可) 
• 複数のURLの応答速度の合算(式は非公表) 
• 渡されたサーバ4台は自由に使える 
• DBはMySQL互換のみ(=ダンプが食える) 
• ディスクへの書き出しが必須 
• 終了直後にサーバ再起動
最終的なサーバ構成 
運営からの速度計測リクエスト 
サーバA 
サーバB 
サーバC 
キャッシュ破棄リクエスト 
(MediaWikiの標準機能) 
サーバD 
Varnish3 
nginx 
PHP 
5.5 
計測用 
サーバ 
nginx 
PHP 
5.5 
nginx 
PHP 
5.5 
nginx 
PHP 
5.5 
MySQL 
5.6 
固定100プロセス 
(DB同居のDは50) 
memcached
方針 
1. おれ達のMediaWikiがそんなにチューニング 
されていないわけがない 
– ですよねー 
2. 飛び道具は後半から 
– Varnish速いとか、しし知ってるし(震え声) 
3. 割り切り 
– 細かくベンチ取って比較してると時間足りない 
– 手間の割に効果が薄いことはどんどん後回し
11:00 
開始 
• 初期状態の保存 
– /etcをまるっと保存 
– rpm 
-­‐qa 
| 
sort 
• 環境の調査 
– Amazon 
Linux 
– 4台全部c3.large 
– ディスク構成も素のまま 
• 性能監視 
– dstat, 
munin 
この時点で 
OSチューニングも 
捨てる
11:30 
nginx 
+ 
php-­‐fpm導入 
• Apache+mod_php5だったらしい 
– PHPプロセス数 
=Apacheプロセス数 
           
=同時接続数 
• みんなだいすきnginx 
疎結合だいじ! 
とてもだいじ!! 
+ 
php-­‐fpmを導入 
– FastCGI層でPHPプロセスを分離 
– (転送遅いリクエストもnginxにおまかせ) 
• ついでにPHP5.4から5.5 
– APCのかわりにOpcache+APCu
12:00 
設定の試行錯誤 
• 運営の計測 
– 5分間隔(ぐらい) 
– これドリブンで動くと永遠に時間が掛かる 
(うえに施策と計測で時差が出る) 
• 自分でabで計測 
– アクセスログに出る計測リクエストを眺めつつ 
# 
ab 
-k 
-c10 
-n1000 
'localhost/wiki/index.php?title= 
%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8' 
Requests 
per 
second: 
18.15 
[#/sec] 
(mean)
PHPとMySQLの負荷 
# 
top 
top 
- 
12:12:24 
up 
3:59, 
2 
users, 
load 
average: 
3.31, 
4.30, 
2.72 
Tasks: 
89 
total, 
2 
running, 
87 
sleeping, 
0 
stopped, 
0 
zombie 
Cpu(s): 
40.0%us, 
1.5%sy, 
0.0%ni, 
57.3%id, 
1.0%wa, 
0.0%hi, 
0.0%si, 
0.2%st 
Mem: 
3859076k 
total, 
1750232k 
used, 
2108844k 
free, 
94156k 
buffers 
Swap: 
0k 
total, 
0k 
used, 
0k 
free, 
1279920k 
cached 
MySQLもおもい 
PID 
USER 
PR 
NI 
VIRT 
RES 
SHR 
S 
%CPU 
%MEM 
TIME+ 
COMMAND 
2652 
mysql 
20 
0 
1335m 
99m 
6184 
S 
13.0 
2.7 
7:12.04 
mysqld 
25668 
nginx 
20 
0 
463m 
35m 
18m 
S 
9.3 
0.9 
0:03.38 
php-fpm-5.5 
25665 
nginx 
20 
0 
459m 
31m 
18m 
S 
9.0 
0.8 
0:03.37 
php-fpm-5.5 
25670 
nginx 
20 
0 
457m 
29m 
17m 
S 
9.0 
0.8 
0:03.54 
php-fpm-5.5 
25667 
nginx 
20 
0 
459m 
31m 
17m 
S 
8.0 
0.8 
0:03.07 
php-fpm-5.5 
25669 
nginx 
20 
0 
459m 
31m 
18m 
S 
8.0 
0.8 
0:03.24 
php-fpm-5.5 
25662 
nginx 
20 
0 
457m 
29m 
17m 
S 
7.7 
0.8 
0:03.24 
php-fpm-5.5 
25663 
nginx 
20 
0 
457m 
29m 
18m 
S 
6.7 
0.8 
0:03.22 
php-fpm-5.5 
25664 
nginx 
20 
0 
461m 
33m 
18m 
S 
6.0 
0.9 
0:03.03 
php-fpm-5.5 
25661 
nginx 
20 
0 
459m 
31m 
17m 
R 
5.7 
0.8 
0:03.22 
php-fpm-5.5 
25666 
nginx 
20 
0 
457m 
29m 
17m 
S 
3.7 
0.8 
0:03.01 
php-fpm-5.5 
25693 
totec201 
20 
0 
15140 
1196 
912 
R 
0.3 
0.0 
0:00.03 
top 
1 
root 
20 
0 
19488 
1596 
1280 
S 
0.0 
0.0 
0:00.74 
init 
PHPがおもい
13:00 
DBチューニング 
• とりあえずそれっぽい設定をいれる 
– kazeburoさんが公開しているmy.cnf 
MySQLの設定ファイル my.cnf 
をgithubにて公開しました & 
チューニングポイントの紹介 
hdp://blog.nomadscafe.jp/2012/10/mysql-­‐mycnf-­‐github.html 
– 若干の手心 
• innodb_flush_log_at_trx_commit=0 
• クエリキャッシュの有効化
集計クエリとの戦い 
• 重いクエリの特定 
– 「moreEdit」問題 
• 秒単位でかかるのでタイムアウト扱い=ペナルティ 
– 集計系のクエリが死ぬほど重い 
• 試行錯誤 
– sort_bufferの思い切った引き上げ 
– クエリキャッシュ有効化 
– upgrade 
to 
MySQL 
5.6 
– (時間が合ったら:mysql-­‐proxyでクエリ書換) 
– ここで保留を決定(どうせVarnishするし)
14:00 
銀の弾丸Varnish登場 
• ググレカス 
– Google:「MediaWiki 
Varnish」 
⇒ 
Manual:Varnish 
caching 
– 
MediaWiki 
hdp://www.mediawiki.org/wiki/Manual:Varnish_caching 
– さすがおれ達のMediaWiki!!! 
– 10倍界王拳に成功!
15:00 
Varnishの調整 
• ログ強化 
# 
vim 
/etc/sysconfig/varnishncsa: 
DAEMON_OPTS="-a 
-w 
$logfile 
-D 
-P 
$pidfile 
-F 
'%h 
%l 
%u 
%t 
"%r" 
%s 
%b 
%D 
fb:% 
{Varnish:time_firstbyte}x 
hit:%{Varnish:hitmiss}x 
hdl:%x{Varnish:handling}x'" 
# 
sort 
-n 
-k11 
/var/log/varnish/varnishncsa.log 
| 
less 
• 数万リクエストなのでmallocにしてみる
PURGE 
• Varnishの天敵 
– 「更新されたページがキャッシュされ続ける」 
– おれ達のMediaWikiにはPURGE処理が標準! 
……設定忘れてたorz 
– これ入れる直前がピーク(93064)
16:00 
サーバの分散 
• とりあえずPHPで稼ぐ 
– 最終的に4台全部に載せる 
– DBと相乗りの子だけワーカー減らす 
本当はVarnishから 
の振り分け率を 
変えないとダメ
17:00 
ラストスパート 
• 運用?しらないね。 
– 監視全部カット 
– ログ全部カット 
• 要らないもの全部しまっちゃおうね 
– PHP未使用の拡張 
– chkconfig自動起動の不要サービス
17:30 
再起動テスト 
• 余裕があるうちに再起動をかける 
– chkconfig 
on 
漏れ(ありがち1) 
– sendmailが遅くて引っかかる(ありがち2) 
• キャッシュあたためますか 
– /var/lib/mysql 
を 
/dev/null 
に放り込む 
– curlでlocalhost叩いてOpcacheに放り込む
17:55 
あきらめる 祈る
18:00 
試合終了 
• 最終スコア: 
88295点
心残り1 
最後のボトルネック 
• サーバ性能を使い切れなかった 
– 1台の時より負けてる 
– サーバ間またぐレイテンシ分だけ損してる 
– Varnish?MySQL?
心残り2 
残された不一致 
• 一部のページで0.1%程度の不一致 
– contentPage1〜4 
– PURGEもしてるのでそんなに出ないはず 
– 計測手法が非公表なので調査できず
まとめ 
• PHP 
– mod_php5(5.4)からphp-­‐fpm(5.5)に変更 
– OPcacheを有効化 
– 心なしかスピード凶寄りの設定 
• Varnish 
• memcached 
• MySQL 
– 5.6にアップグレード 
– 心なしかスピード凶寄りの設定 
• 小細工 
– 監視等の全カット 
– 再起動後のキャッシュあたため
チューニングって楽しいよね!
宣伝 
• 本だしました! 
• クラウド時代の法律から 
実装までの最適解を紹介 
• hdp://goo.gl/BRY3Dt 
[AA] 
電子書籍版もあるよ!

More Related Content

What's hot

Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
勲 國府田
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osakaNaotaka Jay HOTTA
 
Ansible入門
Ansible入門Ansible入門
Ansible入門
Daiki Hayakawa
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる
airtoxin Ishii
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
 
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
CLARA ONLINE, Inc.
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistranokumachang_LL
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
Yoshinari Takaoka
 
Ansible handson
Ansible handsonAnsible handson
Ansible handson
Hideki Saito
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニング
ii012014
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented featuretamtam180
 
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門	ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)hiboma
 
nginx入門
nginx入門nginx入門
nginx入門
Takashi Takizawa
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことTrinityT _
 

What's hot (20)

Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
Hadoop on LXC
Hadoop on LXCHadoop on LXC
Hadoop on LXC
 
Ansible入門
Ansible入門Ansible入門
Ansible入門
 
2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる2日間Fabricを触った俺が
 色々解説してみる
2日間Fabricを触った俺が
 色々解説してみる
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
 
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
 
Ansible handson
Ansible handsonAnsible handson
Ansible handson
 
Apacheチューニング
ApacheチューニングApacheチューニング
Apacheチューニング
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented feature
 
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門	ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
 
nginx入門
nginx入門nginx入門
nginx入門
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
 

Viewers also liked

最近つくったrecent_zombies - Perlで始めるTwitterタイムライン分析
最近つくったrecent_zombies -  Perlで始めるTwitterタイムライン分析最近つくったrecent_zombies -  Perlで始めるTwitterタイムライン分析
最近つくったrecent_zombies - Perlで始めるTwitterタイムライン分析
Masahiro NAKAYAMA
 
20140704 cassandra introduction
20140704 cassandra introduction20140704 cassandra introduction
20140704 cassandra introduction
Masahiro NAKAYAMA
 
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_jaChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
Masahiro NAKAYAMA
 
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfChef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + Berkshelf
Masahiro NAKAYAMA
 
インフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccampインフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccamp
Masahiro NAKAYAMA
 
セキュリティ・キャンプ参加してみた #ssmjp #seccamp
セキュリティ・キャンプ参加してみた #ssmjp #seccamp セキュリティ・キャンプ参加してみた #ssmjp #seccamp
セキュリティ・キャンプ参加してみた #ssmjp #seccamp
Masahiro NAKAYAMA
 
qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所
Masahiro NAKAYAMA
 
今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre
今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre
今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre
Masahiro NAKAYAMA
 
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
Osamu Monoe
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
 
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccampクラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
Masahiro NAKAYAMA
 
エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)
Masahiro NAKAYAMA
 
TwitterのOAuth脆弱性
TwitterのOAuth脆弱性TwitterのOAuth脆弱性
TwitterのOAuth脆弱性
Masahiro NAKAYAMA
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
Masahiro NAKAYAMA
 
15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker
Masahiro NAKAYAMA
 
Api gatewayの話
Api gatewayの話Api gatewayの話
Api gatewayの話
Hiroshi Hayakawa
 

Viewers also liked (16)

最近つくったrecent_zombies - Perlで始めるTwitterタイムライン分析
最近つくったrecent_zombies -  Perlで始めるTwitterタイムライン分析最近つくったrecent_zombies -  Perlで始めるTwitterタイムライン分析
最近つくったrecent_zombies - Perlで始めるTwitterタイムライン分析
 
20140704 cassandra introduction
20140704 cassandra introduction20140704 cassandra introduction
20140704 cassandra introduction
 
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_jaChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
ChefとCapistranoの境界線 (Chef Casual Talks Vol.1) #eytokyo #opschef_ja
 
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfChef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + Berkshelf
 
インフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccampインフラセキュリティブートキャンプ #seccamp
インフラセキュリティブートキャンプ #seccamp
 
セキュリティ・キャンプ参加してみた #ssmjp #seccamp
セキュリティ・キャンプ参加してみた #ssmjp #seccamp セキュリティ・キャンプ参加してみた #ssmjp #seccamp
セキュリティ・キャンプ参加してみた #ssmjp #seccamp
 
qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所qpstudy 2014.04 ミドルウェア設計の勘所
qpstudy 2014.04 ミドルウェア設計の勘所
 
今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre
今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre
今期の好きなアニメ「アイドルマスターシンデレラガールズ」 #infrapre
 
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
 
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccampクラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
 
エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)エンジニアが知っておくべきSSL/TLSの知識(仮)
エンジニアが知っておくべきSSL/TLSの知識(仮)
 
TwitterのOAuth脆弱性
TwitterのOAuth脆弱性TwitterのOAuth脆弱性
TwitterのOAuth脆弱性
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker
 
Api gatewayの話
Api gatewayの話Api gatewayの話
Api gatewayの話
 

Similar to 20140828 #ssmjp 社内チューニンガソンで優勝したはなし

Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
Hideyuki Takeuchi
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも- Yusaku Watanabe
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
Takeshi Kuramochi
 
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティングMTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング純生 野田
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!leverages_event
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
Naoto MATSUMOTO
 
サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料
masahiro13
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
Yosuke Mizutani
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
 
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
shingo suzuki
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Yoshinori Matsunobu
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLakirahiguchi
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
 

Similar to 20140828 #ssmjp 社内チューニンガソンで優勝したはなし (20)

Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメWeb時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
Pythonによる並列プログラミング -GPGPUも-
Pythonによる並列プログラミング   -GPGPUも- Pythonによる並列プログラミング   -GPGPUも-
Pythonによる並列プログラミング -GPGPUも-
 
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
 
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティングMTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
Introduction pp.js
Introduction pp.jsIntroduction pp.js
Introduction pp.js
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
 
Open VZ
Open VZOpen VZ
Open VZ
 
サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料サイボウズ・ラボユース成果発表会資料
サイボウズ・ラボユース成果発表会資料
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)Linux/DB Tuning (DevSumi2010, Japanese)
Linux/DB Tuning (DevSumi2010, Japanese)
 
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQLHandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 

More from Masahiro NAKAYAMA

ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
 
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampイントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
 
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampクラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
 
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjpめもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
Masahiro NAKAYAMA
 
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
Masahiro NAKAYAMA
 
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
Masahiro NAKAYAMA
 
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップサーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
Masahiro NAKAYAMA
 
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう
Masahiro NAKAYAMA
 
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
Masahiro NAKAYAMA
 
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjpクラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjp
Masahiro NAKAYAMA
 
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
Masahiro NAKAYAMA
 
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampIoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
Masahiro NAKAYAMA
 
Serverless book
Serverless bookServerless book
Serverless book
Masahiro NAKAYAMA
 
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampクラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
Masahiro NAKAYAMA
 
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp
Masahiro NAKAYAMA
 
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
Masahiro NAKAYAMA
 
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyoBluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
Masahiro NAKAYAMA
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
 
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
Masahiro NAKAYAMA
 

More from Masahiro NAKAYAMA (20)

ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
 
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampイントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
 
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccampクラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
 
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjpめもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
 
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
 
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
 
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップサーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
 
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう
 
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
 
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjpクラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjp
 
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
 
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampIoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
 
Serverless book
Serverless bookServerless book
Serverless book
 
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccampクラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
 
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp
 
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
 
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyoBluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
 
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevcServerless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
 
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
 

Recently uploaded

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 

Recently uploaded (8)

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 

20140828 #ssmjp 社内チューニンガソンで優勝したはなし

  • 2. 自己紹介 • Aki / @nekoruri / id:nekoruri – 某CA社のなかのひと – 入社14ヶ月目 – 秋葉原生まれ大手町育ちの歌って踊れる 江戸っ子フルスタックインフラエンジニア
  • 3. 社内チューニンガソン 「TOTEC2014」 • 昨年までは新卒のみで実施、今年から拡大 • 3部門で実施 – インフラ:ミドルウェア – フロントエンド:HTML+CSS+JS – サーバサイド:言語を問わないAPI開発 – 各100人(新卒50/他50)を予選で選抜
  • 4. インフラチューニング • ソースコード「より下」のチューニング – いわゆる「チューニンガソン」そのもの – ミドルウェアの選定、チューニング – サーバ構成の最適化
  • 6. 主なガイドライン • 用意されたMediaWikiの応答速度を競う • ソース修正禁止(設定ファイルは可) • 複数のURLの応答速度の合算(式は非公表) • 渡されたサーバ4台は自由に使える • DBはMySQL互換のみ(=ダンプが食える) • ディスクへの書き出しが必須 • 終了直後にサーバ再起動
  • 7. 最終的なサーバ構成 運営からの速度計測リクエスト サーバA サーバB サーバC キャッシュ破棄リクエスト (MediaWikiの標準機能) サーバD Varnish3 nginx PHP 5.5 計測用 サーバ nginx PHP 5.5 nginx PHP 5.5 nginx PHP 5.5 MySQL 5.6 固定100プロセス (DB同居のDは50) memcached
  • 8. 方針 1. おれ達のMediaWikiがそんなにチューニング されていないわけがない – ですよねー 2. 飛び道具は後半から – Varnish速いとか、しし知ってるし(震え声) 3. 割り切り – 細かくベンチ取って比較してると時間足りない – 手間の割に効果が薄いことはどんどん後回し
  • 9. 11:00 開始 • 初期状態の保存 – /etcをまるっと保存 – rpm -­‐qa | sort • 環境の調査 – Amazon Linux – 4台全部c3.large – ディスク構成も素のまま • 性能監視 – dstat, munin この時点で OSチューニングも 捨てる
  • 10. 11:30 nginx + php-­‐fpm導入 • Apache+mod_php5だったらしい – PHPプロセス数 =Apacheプロセス数            =同時接続数 • みんなだいすきnginx 疎結合だいじ! とてもだいじ!! + php-­‐fpmを導入 – FastCGI層でPHPプロセスを分離 – (転送遅いリクエストもnginxにおまかせ) • ついでにPHP5.4から5.5 – APCのかわりにOpcache+APCu
  • 11. 12:00 設定の試行錯誤 • 運営の計測 – 5分間隔(ぐらい) – これドリブンで動くと永遠に時間が掛かる (うえに施策と計測で時差が出る) • 自分でabで計測 – アクセスログに出る計測リクエストを眺めつつ # ab -k -c10 -n1000 'localhost/wiki/index.php?title= %E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8' Requests per second: 18.15 [#/sec] (mean)
  • 12. PHPとMySQLの負荷 # top top - 12:12:24 up 3:59, 2 users, load average: 3.31, 4.30, 2.72 Tasks: 89 total, 2 running, 87 sleeping, 0 stopped, 0 zombie Cpu(s): 40.0%us, 1.5%sy, 0.0%ni, 57.3%id, 1.0%wa, 0.0%hi, 0.0%si, 0.2%st Mem: 3859076k total, 1750232k used, 2108844k free, 94156k buffers Swap: 0k total, 0k used, 0k free, 1279920k cached MySQLもおもい PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2652 mysql 20 0 1335m 99m 6184 S 13.0 2.7 7:12.04 mysqld 25668 nginx 20 0 463m 35m 18m S 9.3 0.9 0:03.38 php-fpm-5.5 25665 nginx 20 0 459m 31m 18m S 9.0 0.8 0:03.37 php-fpm-5.5 25670 nginx 20 0 457m 29m 17m S 9.0 0.8 0:03.54 php-fpm-5.5 25667 nginx 20 0 459m 31m 17m S 8.0 0.8 0:03.07 php-fpm-5.5 25669 nginx 20 0 459m 31m 18m S 8.0 0.8 0:03.24 php-fpm-5.5 25662 nginx 20 0 457m 29m 17m S 7.7 0.8 0:03.24 php-fpm-5.5 25663 nginx 20 0 457m 29m 18m S 6.7 0.8 0:03.22 php-fpm-5.5 25664 nginx 20 0 461m 33m 18m S 6.0 0.9 0:03.03 php-fpm-5.5 25661 nginx 20 0 459m 31m 17m R 5.7 0.8 0:03.22 php-fpm-5.5 25666 nginx 20 0 457m 29m 17m S 3.7 0.8 0:03.01 php-fpm-5.5 25693 totec201 20 0 15140 1196 912 R 0.3 0.0 0:00.03 top 1 root 20 0 19488 1596 1280 S 0.0 0.0 0:00.74 init PHPがおもい
  • 13. 13:00 DBチューニング • とりあえずそれっぽい設定をいれる – kazeburoさんが公開しているmy.cnf MySQLの設定ファイル my.cnf をgithubにて公開しました & チューニングポイントの紹介 hdp://blog.nomadscafe.jp/2012/10/mysql-­‐mycnf-­‐github.html – 若干の手心 • innodb_flush_log_at_trx_commit=0 • クエリキャッシュの有効化
  • 14. 集計クエリとの戦い • 重いクエリの特定 – 「moreEdit」問題 • 秒単位でかかるのでタイムアウト扱い=ペナルティ – 集計系のクエリが死ぬほど重い • 試行錯誤 – sort_bufferの思い切った引き上げ – クエリキャッシュ有効化 – upgrade to MySQL 5.6 – (時間が合ったら:mysql-­‐proxyでクエリ書換) – ここで保留を決定(どうせVarnishするし)
  • 15. 14:00 銀の弾丸Varnish登場 • ググレカス – Google:「MediaWiki Varnish」 ⇒ Manual:Varnish caching – MediaWiki hdp://www.mediawiki.org/wiki/Manual:Varnish_caching – さすがおれ達のMediaWiki!!! – 10倍界王拳に成功!
  • 16. 15:00 Varnishの調整 • ログ強化 # vim /etc/sysconfig/varnishncsa: DAEMON_OPTS="-a -w $logfile -D -P $pidfile -F '%h %l %u %t "%r" %s %b %D fb:% {Varnish:time_firstbyte}x hit:%{Varnish:hitmiss}x hdl:%x{Varnish:handling}x'" # sort -n -k11 /var/log/varnish/varnishncsa.log | less • 数万リクエストなのでmallocにしてみる
  • 17. PURGE • Varnishの天敵 – 「更新されたページがキャッシュされ続ける」 – おれ達のMediaWikiにはPURGE処理が標準! ……設定忘れてたorz – これ入れる直前がピーク(93064)
  • 18. 16:00 サーバの分散 • とりあえずPHPで稼ぐ – 最終的に4台全部に載せる – DBと相乗りの子だけワーカー減らす 本当はVarnishから の振り分け率を 変えないとダメ
  • 19. 17:00 ラストスパート • 運用?しらないね。 – 監視全部カット – ログ全部カット • 要らないもの全部しまっちゃおうね – PHP未使用の拡張 – chkconfig自動起動の不要サービス
  • 20. 17:30 再起動テスト • 余裕があるうちに再起動をかける – chkconfig on 漏れ(ありがち1) – sendmailが遅くて引っかかる(ありがち2) • キャッシュあたためますか – /var/lib/mysql を /dev/null に放り込む – curlでlocalhost叩いてOpcacheに放り込む
  • 22. 18:00 試合終了 • 最終スコア: 88295点
  • 23. 心残り1 最後のボトルネック • サーバ性能を使い切れなかった – 1台の時より負けてる – サーバ間またぐレイテンシ分だけ損してる – Varnish?MySQL?
  • 24. 心残り2 残された不一致 • 一部のページで0.1%程度の不一致 – contentPage1〜4 – PURGEもしてるのでそんなに出ないはず – 計測手法が非公表なので調査できず
  • 25. まとめ • PHP – mod_php5(5.4)からphp-­‐fpm(5.5)に変更 – OPcacheを有効化 – 心なしかスピード凶寄りの設定 • Varnish • memcached • MySQL – 5.6にアップグレード – 心なしかスピード凶寄りの設定 • 小細工 – 監視等の全カット – 再起動後のキャッシュあたため
  • 27. 宣伝 • 本だしました! • クラウド時代の法律から 実装までの最適解を紹介 • hdp://goo.gl/BRY3Dt [AA] 電子書籍版もあるよ!