Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ニジエチューニング2017-12

 ニジエチューニング2017-12

なんか貼った画像が潰れてるのでDownloadPDFで見てもらえれば

ニジエインフラ

December 28, 2017
Tweet

More Decks by ニジエインフラ

Other Decks in Programming

Transcript

  1. あんただれ • 名前 ◦ ٩( )( )۶とか₍₍⁽⁽(◌ી( ・◡・ )ʃ)とか ◦

    匿名ボードだとインちゃんと呼ばれてる • インフラ・バックエンドのボランティアスタッフです • 最近バックエンドを手伝ってくれる人が増えて嬉しいです • 2014/03/18にJoin • 絵上手くなりたいです • そろっと年が明けますね おひさしぶりです
  2. Twitter権限問題 • そもそも実装されていた Tw関連機能は ◦ プロフ取得(twのid等) ◦ つぶやく ◦ DM送信(実際は使われていないですが・・

    ) • だったのでDM読んだりはしてないのですが、こればっかりは信用してもらうしか無いので 難しいところではあります • あと、ニジエ以外のサイトでも権限問題でいろいろ騒がれてました ◦ この話題は定期的に出てきてなんというか複雑な気持ちになります ◦ もう少し細かく設定できれば、ユーザの疑心暗鬼を生まずにすむのですが・・ • 一連のTwの投稿はここ参照 ◦ https://twitter.com/nijieinfra/status/823390262143524864 • 権限落とした後の障害が実はもっとつらかった(補正つらかった・・) ◦ 丁度翌日に本業の代休取っていたので補正が捗りました・・・(つらい) ご迷惑ご心配かけて本当に申し訳ありませんでした
  3. アニメーションGIF対応 • ニジエは現在サムネイルは動的に生成しています。このお陰でデザイン修正を行っても適切なサイズのサムネを使用で きます。 • しかしここで問題が起きたのがアニメーションGIF(AGIF)で、当時使っていたMWでは先頭フレームのみを使用してサム ネとしていました。 ◦ この場合だと先頭フレームに絵が全部含まれていないと変な崩れ方をします。 •

    これについては以前からもなんとかしたいとは思っていたのですが、AGIFの変換コストが非常に高くなかなか踏み切れ ませんでした。  ◦ 専用の変換サーバなんて用意できるわけもないので、別用途のサーバに相乗りさせる形で置いてたんですがメ モリがとにかくすくない・・ ▪ ニジエのサーバ群は512MB~4GBのメモリで動いていて、この変換してるのは2GBで動いてました。 • ですがTwitterでニジエはせっかくAGIFが強いのにサムネ崩れが致命傷という意見を見かけまして、やるだけやってみる かーで投入しました。 ところが・・・
  4. 他にも新機能いれました • イラストレコメンド ◦ 協調フィルタリングがベース ◦ 使っているデータは抜いただけではないです(メインは抜いたですが) ◦ バッチではなくリクエストのタイミングで計算 ▪

    ただしESIキャッシュは行っている ◦ 計算量が爆発しないように幾つかの仮説を元にかなり刈込みを行っている ◦ 思ったより精度出たんじゃないかなと考えています • 抜かれた解析 ◦ Twで「ニジエは明け方投稿した絵はいいねはつくけど抜いたがつかない~」とあって もしかしたらそういうのが見れたら嬉しいかな?と思って実装 ◦ 基本は夜なんですが、意外と朝メインで抜かれている作品もあったりと発見がありました • などなど
  5. ロケーション変更 • そもそも ◦ 台数がそんなに多くない ◦ ディストリも混在(CentOS/Ubuntu) ◦ 頻繁にサーバの増減は無い ◦

    そのうち大型の構成変更(PHP7など)をやるときに構成管理はやればいいや・・・ なので手構築してた
  6. MySQL5.7化 • 特に奇をてらったやり方ではなく一般的な切り替え • MySQL5.7化自体は割とスムーズでした。 • 同時にチューニングしたということもあるんですがi/o負荷がかなり減ってすごく満足 ◦ グラフも取ってますがパラメータも結構いじっていて同条件ではなく誤解を招くので割愛 •

    ちょろっとしたところでの気付きだと、5.7のstb01を作った際にテストでバッチをそれに向けていたのですが、ロケーション 跨ぎになるので当然ながら激遅になってしまい、光の速度を再認識しました