YAPC::Okinawa2018
YAPC::Okinawa2018に言って来ました.会場は沖縄科学技術大学院大学,見晴らしのいい海沿いの低い山の上.
当日はあいにくの雨でしたがイベント後半には晴れてきて穏やかな海も観れました.
経緯
パピックス(id:@__papix__)さんにYAPC学生交通費宿泊費出してもらえるから行こうよ!とお誘いいただいたのでいく事にしました.沖縄はまだ行ったことがなかったのでいい機会でした.就活の合間に,心穏やかな期間を設けるのにも役立てられました.
学生の旅費は学生スポンサーの
- サポーターズ様
- ガイアックス様
- ミノタケ様
- こだまリサーチ様
- モバイルファクトリー様
- GMOペパボ様
- ファームノート様
に負担していただきました.ありがとうございました.うち5社とはお昼時間に面談をしました.
発表
聞いたプレゼンのメモを中心に載せていきます.
Webサービスを監視するときに
パピックス(id:@__papix__)さん
YAPC::Okinawaで, 「Webサービスを監視するときに僕達が考えたこと」というトークをしました - Masteries
初学者向けの話でありがたかった.監視の具体的な話がわかった.
以下メモ.
監視の仕方
障害は起こるもの.
- ドッグフーディング
- ユーザーの声
- 監視の仕組みから通知が届く
- あとは凄腕エンジニアのカン
で検知する.
検知した障害を解決していく.
憶測ではなく事実に基づいて解決していく.
ペアオペなどで正確に
時間が大切
社内障害情報共有のススメ - Hatena Developer Blog
すぐ気づくために.障害対応のみちしるべ
見る
確認が必要な範囲が広い(ネットかも,データベースかも)
監視をすれば絞り込める
- 管理:サーバに名前をつける
- 可視化:数値にし瞬間的にわかるように
- 蓄積:可視化したものを溜めると急激な変化がわかる
- 検知:なん%超えたら障害かはみんな困っているところ
- 通知:エンジニアが張り付いているわけにはいかない
監視の種類
pushかpull
- push:サーバーが蓄積サーバに投げる:こちらが多い
- pull:蓄積サーバがとう
監視の実例
監視に有用なメトリック
- loadang5 :5分平均
- cpu:CPUの使用率:負荷が上がれば用率が上がる.利用率はうまくハックしていけ
- memory:メモリの利用率
- disk:余裕がなくなると読み書きができなくなる
- interface:ネットワーク帯域の利用状況.瞬間的に増えたらDoSを疑え
- filesystem:ディスクとその容量.中長期的に考えていく
- アクセスログ:アクセスが多くなったらメモリ,CPU,ネットの負荷が増える
- uptime:つまりサーバが再起動されたということ
検知と通知
多すぎても「狼少年」
定期的に値を見直すことが大事
サービスの負荷の傾向を追う
年単位,月単位,日単位,時間単位で傾向がある.
通知はいろんなサービスに飛ばせる.
通知をしない選択もある
HTTP/2にまつわる事実と誤解
Kazuho Oku(id:@kazuho)さん.
ベストトークに選ばれました.おめでとうございます!
ベストトークトップ3を公開したします!
— yapcjapan (@yapcjapan) 2018年3月3日
HTTP/2にまつわる事実と誤解 / @kazuho
Webサービスを監視するときに僕達が考えたこと / @__papix__
High (Availability|Performance) WebSocket for Perl Real-Time Application @mackee_w
スピーカーのみなさんありがとうございました! #yapcjapan
HTTP/1.1とHTTP/2,実際のところどっちが早いかのお話でした.グラフで比較して面白かったです.以下メモ.
なぜHTTP2を作ろうとしたか
ロード時間はバンド幅に依存しない,レイテンシに比例
HTTP/1には多重性がない.:サーバーのしよう効率が悪い.転送速度が上がった場合データが多く送れるようになったのでバンド幅が無駄になった.
HTTP2はリクエストを多重に送れるのでバンド幅効率かできる
パケットロスの%が高くなるほど2の方が遅くなる
ページの初回描画の際はパケロスがない場合もh1の方が早くなりがち.
ドムコンテットローデッド
speed index
パケロス2%だったらh2が早いけどそれ以外はh1が早い.
パケロスがないケースが8割
どっちもどっちなのでベンチマークを取るしかない.
- webpagetestを使う:試すのは簡単
- Resource-Timing:jsでロード時間を取得する
その時間かかった理由はわからないのでServer-Timingを使う
まとめ
- HTTP/2ではパケロス少ない場合絶大な効果がある.
- HTTP/2にするのは時代の必然.
- ベンチマークを取りましょう.
全部Perlが教えてくれたこと
西島(id:@k_nishijima)さん
学生がたくさん聞いているという話を聞いて途中から参加しました.ブログを書くまでが勉強会!
Perl
Perlはフリーソフト.以前コンパイラにお金かかったりした.
アクセスカウンタなどのCGIが流行った.CGIかけます=Perlかけますになりがち
Perlがバグってる: Perlって直せるんだ〜という衝撃.恐れ多かった.
この体験でオープンソースのありがたみ感じたので可能ならクローズドソースは避けるように.人生変わった.
「変化は知らぬ間にもしくは突然起こっている.それを見逃してはいけない」
コミュニティとの関わり
日本では勉強会が2007年ごろからブームに
カンファレンス:でっかい
セミナー:スーツ.
勉強会:勉強会
コミュニティ:一方通行ではない.みんなの利益になることが大事.
来れなかった人にも広げよう.「ブログを書くまでが勉強会」
Perlも共有したからこそ繁栄した.
沖縄移住
勉強会増えて来た.勉強会自分で選んでいけ.
ペイフォワード:善意を他人へ回す(恩返し).
MogileFS脱出大作戦
t(id:@t_snzk)さん
はてなの人!途中で参加したし難しかった.
ファイル移行作戦
URLを変えて良いかの判断基準
理想的には保持されるべき
画像URLは変更できない
URLを変えるの
更新を止めることはできない
ネットワーク帯域圧迫問題
移行バッチ
データの不整合
不整合な状態:画像データはあるがURLがないなど
Perlを中心としたワンライナーあれこれ
てっくる(id:@teckl)さん
むずかし〜.でもperlってコマンドラインでチョチョっと便利な言語であることがわかった.詳細はスライドがわかりやすそうなので書かずに聞いてました.以下ちょっとだけどメモ.
コマンドラインは仕事をすぐ終わらせるためのもの.使い捨て.恒久的に使うのであればスクリプトを書こう
WordPress運用を支えるPerl
OGATA(id:@xtetsuji)さん
突然負荷がかかり社のサイト落ちた.ので耐久性をあげたいが高いし商用製品使いたくない.
mod_perl:Cで書くところをPerlでかける.出力フィルタ.
で解決.
疎結合と密結合
ここでの疎密はウェブクラスタやウェブサーバを分けて使うか1つでやるかの話みたい.
2018年春のPerl
karupanerura(id:karupanerura)さん
1〜2ヶ月でPerl5.28
RCが正規版
Unicode10.0がサポートされた
スライドが詳しいと思うのであんまりメモ取らずに聞いてました.
Perlで裏付けされたLINE NEWSの裏側
nipotan(id:@nipotan)さん
クッキン楽しかった.
LINEはlivedoor NEWSとLINE NEWSをやってる
どっちもperl
ユーザー層が違う
デザイナーがデザインした通りにリッチなLINE NEWSメッセージを作成する仕事
LINEアプリを使いながらユーザーを拡大していった.
ユーザーが増える一方で重く使いづらいアプリに
0.5秒化計画
Perl in Mercari 2018
メルカリkazeburo(id:@kazeburo)さん
メルカリPHPとgoなんだ
PHP7:API
Go:マイクロサービス,ミドルウェア
Python :AI/ML
python:slacklogに使っている
Perlにする意味
system callを学ぶのに最適
デプロイが容易
Perlで培われた技術を参考にできる
Perl's work inside the company
S2 Takuho Yosizu(id:@n0042)さん
受託をやっている会社.Perlがいろんなところでやくに立っていることが分かった.
イベントでインタラクティブに
Perlでやったこと:ハブとして.
映像同期,アートワーク生成,アートワークトリガー
Poket.io
プーマのサイト:シミュレーション機能のJSON生成
ECと店舗売り上げをデータベース登録
バックエンドを担当
フリークアウト社の事業を支えるPerl
フリークアウトhiratara(id:hiratara)さん
アプリを開く->SSPがDSPへ入札リクエスト->値段を返答
DSP?
Perlの利点
GCによる速度低下がない
LLの中ではそこそこ早い
そんなに抽象化していない言語なので最適かが素直に適応できる
新規はrailsやgoで作り始めた.
言語にこだわる意味がない時代
ビジネスの方がはるかに重要
コア機能をPerlにしている.最近はいろんな技術導入して来た.
キーノート
LINEyappo(id:yappo)さん
スライドの写真が全く別次元で進んでいってて不思議だった.
企画,実装
今日の感想
Perlでぜ〜んぶやってやるぞ!という発表はなく,ほとんどが主に使ってはないけど所々で大事な役割をになって来ているという話だった.ruby25は未来に向けて壮大な夢を語る感じのイベントだったけど.
Linuxとふかい関係がある言語だと分かった.
Acme::PrettyCureにプルリク出すっていう任務が出来たので時間あるときやっていきます
— キュアセブン (@cureseven) 2018年3月3日
その後Acme::PrettyCureをrubyで実装してgemにします #yapcjapan
懇親会にて Perlで楽しそうなことなんだろうと考えた結果,Acme::PrettyCureというものがあって数年前更新がストップしているということを聞いたのでそれをやりながらPerlの勉強やるのは楽しそうという話になった.gemにするという話だけどすでにあった.
すっすごい…今のプリキュアまで実装されてる https://t.co/01nI3KgJW2
— キュアセブン (@cureseven) 2018年3月3日
空いた時間に沖縄観光したのでその話はまた別の記事にします!
次は東京だ〜
東京だ〜.