パスワードを忘れた? アカウント作成
10830798 story
プログラミング

ニコニコ動画が「超チューニング祭り」を開催、フロントエンドをチューニングする挑戦者募集中 37

ストーリー by hylom
高速化 部門より
あるAnonymous Coward 曰く、

ニコニコ動画が、4月26・27日に開催される「ニコニコ超会議3」にて、スマートフォンサイトのフロントエンド側(クライアント側)のコード(HTML、JavaScript、CSS)をチューニングするイベント「超チューニング祭」を開催する。

ドワンゴが誇るエンジニア、戀塚昭彦氏や江添亮氏、そして山田将輝氏、水島宏太氏らも参加するとのこと。

ルールはまだ公開されていないが、スピードだけで無くUIの使い勝手なども評価される模様。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • HTMLとかJavaScriptとかのチューニングは気になるな。
    さすがに圧縮やリクエスト数の低減は普通にやるだろうから、それ以外でどんなチューニングが出てくるのか期待してる。

    # やっぱりサーバー側にnode.jsとかそれ系仕込んでフロントエンド側も高速化という感じなのかと思ったが新規性はないな

  • 改善案の例 (スコア:2, 興味深い)

    by Anonymous Coward on 2014年04月15日 12時58分 (#2582376)

    ニコニコ動画は好んで拝見しておりますので改善はうれしいですね。動画配信を多くのユーザに
    提供するという膨大なスループットが長年の努力で達成できていますので、後は「サクサク感」に
    影響する小さいファイルの配信、応答速度、通信の往復回数の削減などをして欲しいですね。

    このあたりが対応の手間や変更のリスクが少なく効果が大きい案でしょうか。

    ・css や js などの静的ファイルを配信している res.nimg.jp で gzip 圧縮を有効にする(今は無効になってるっぽい)

    ・複数の .css を統合して1つにする

    ・複数の .js を統合して1つにする(1kB 程度の物が大量にあり、通信時間よりも TTFB がほとんどを占めているっぽい)

    ・css と js を minify する

    ・png ファイルを最高圧縮しておく(例えば http://res.nimg.jp/images/logo/logo-s.png [res.nimg.jp] は1.9kB ほど削減でき、半減する。optipng などのコマンドで、静的ファイルのディレクトリ配下の png を全部圧縮しなおせば良いだけなので簡単だろうし)

    ・css や js のキャッシュ時間を現在の 20 分よりも長くする(ファイルを更新したときに変更がすぐにブラウザに伝わるように、ちゃんと .cookie.js?1377581665 のように URL の末尾にバージョン識別番号のようなものが付いているので、たぶん何の変更も加えずにキャッシュ時間だけ延長できそう)

    次点というかたぶん評価もされずに却下されるだろう案としては、キャッシュヒット率が低いサムネ
    画像を datauri で全部 html 内に埋め込んでしまうというのもアイデアとしてはありますね。リクエストと
    レスポンスの往復回数が激減するのが改善効果です。html が大きくなってしまうことと配信する http
    サーバにかなりの負担がかかること、サムネをキャッシュする memcache とか redis を用意しないと
    いけないのでサーバ構成にまで改善案が波及することがデメリットですね。

    ともあれ、がんばって欲しいですね。楽しみです。

  • うちの会社のMITEを使ってローカル環境で計測して、MWPでNTT DoCoMoとSoftBankの3G回線で計測してみて、既に何がボトルネックかがわかっているので…

    積極的に参加したいような、でも、遠慮すべきか…

    ここで何が問題で何を直すと良いかを書くと、このイベント自体の存在意義が無くなりそうだから、遠慮しとこうかな…

    • by Anonymous Coward

      処理のボトルネックと体験のボトルネックは別なんだよね。
      外挿で性能上げるのは努力。式ごと書き換えるのが才能。
      足し算の各項を精査して、わかったつもりになるのは、それはそれで意味はあるけど、
      自分で自分の才能の限定定義しなくていいじゃない。

      • > 処理のボトルネックと体験のボトルネックは別なんだよね。

        これは、全く同意です。
        今回のイベントの告知で、「表示速度のみの判定ではありません!」と書いてありますから、ダウンロード並びに表示速度のみの問題ではないと考えます。

        > 外挿で性能上げるのは努力。式ごと書き換えるのが才能。
        > 足し算の各項を精査して、わかったつもりになるのは、それはそれで意味はあるけど、
        > 自分で自分の才能の限定定義しなくていいじゃない。

        この部分は、大変申し訳ないのですが、何をおっしゃりたいのか、よくわかりません。

        親コメント
        • by Anonymous Coward

          別ACだが、

          ここで何が問題で何を直すと良いかを書くと、このイベント自体の存在意義が無くなりそうだから、

          ってのは、ここにちょろっと書けるようなアイデアレベルで「イベント自体の存在意義が無くなりそう」といえるだけの、スピードだけで無くUIの使い勝手なども含めて他の追随を許さないようなものってことで、それってのは典型的な「わかったつもり」だと思います。
          とくにUIって言葉で納得を一番得難いものだと思うし。

          • なるほど、自分の最初の文章が言葉足らずでした。
            「パフォーマンスに関しては」、何が問題であるか、分析のデータを持っています。

            「競技者の方がチューニングしたサイトの速度計測するiOSアプリを作ります。」と書いてあったので、パフォーマンスを主に意識したものだと思っていました。

            「UIの使い勝手なども含めて他の追随を許さないようなもの」という意図はありません。

            親コメント
          • by Anonymous Coward

            >典型的な「わかったつもり」だと思います。

            そんな深い話じゃなくて、「みんなでせーので競争しよう」なのに、
            ココでアイデア書いちゃったら自分だけ不利になって競争にならないじゃん、でしょ。

            • by Anonymous Coward

              いや、それは暗黙のうちに、「俺のアイデアが最高」って前提を含んでるでしょ。
              どれくらいの手間をかけたのか知らないけど、この人が外部の人間である以上、
              それは他の人にも取れるはずのデータなんだから、自分の思いつくことは他人も思いつくって。
              本当に良いアイデアだと思ってるなら、事前に公開してハードル上げといたほうが楽しい。

              それにマニアックに面白くなるのは、完成度を50%から90%に上げるところより、
              90%から99%、99%から100%に持っていくところでしょう。
              「俺の最初のアイデアだけで性能はもう40ポイント良くなったから、後は大した工夫じゃないね」なんて、
              仕事でもないのにそんなこと言い出すのは野暮の極み。

              ちょっと測ればすぐ分かるようなボトルネックなんか事前にどんどん情報出して、
              当日はもっと下らないネタで盛り上がってもらえばいいと思うね。

              • 私、「俺のアイデアが最高」なんて書いてませんし、思ってもいません。
                「何がボトルネックかがわかっている」と書きました。

                それは、「アイディア」ではなくて、定点観測から導き出されたデータとしての「事実」です。
                その「事実」を元に、どのような解決策に導くかは、アイディアだと思います。

                こちらが持っているデータを競技前の参考情報として提供するという提案はドワンゴにしたので、あとは向こう次第です。

                親コメント
              • by Anonymous Coward

                気持ち悪いなぁ…

              • by Anonymous Coward

                > このイベント自体の存在意義が無くなりそうだから

                とか最初はまるで一人でイベントまるつぶしにするかのようなすごい上から目線だったのにしょぼくれてきちゃったなぁ。

              • 「ここで何が問題で何を直すと良いかを書くと、このイベント自体の存在意義が無くなりそうだから」と書いたのは、計測データに顕著に現れている遅延要因が、今回のイベントで直接にコントロール可能なフロントエンド処理に起因していないからです。

                親コメント
              • by Anonymous Coward

                「スピードだけで無くUIの使い勝手なども評価される」
                と書いてあるのだから、主催の意図はスピードが主であり、使い勝手が従なのは明らか。

                そこに「スピードはクライアントで頑張っても無駄」とかいうデータを暴露したら
                そら「このイベント自体の存在意義が無くなりそう」と言って何の過言もないだろ。

                絡んでる奴が勝手に誤読しておいて見苦しい言い訳付け足してるだけで根幹なんも変わってねえよ。

              • by Anonymous Coward

                最初からそう書こうよ。
                情報の後出しは格好悪いぞ。

  • by Anonymous Coward on 2014年04月15日 12時20分 (#2582355)

    スマホ版じゃなくてPC版の方をチューニングさせて下さいよ…。

    • by Anonymous Coward

      同意
      ただPC版が遅いのは、ページ構築のほとんどをjavascriptにやらせてることが大きいので、
      サーバー側の協力がないと無理そう。
      イベント化するには向きませんわ

  • by Anonymous Coward on 2014年04月15日 13時41分 (#2582412)

    HTML5対応だからクライアントストレージを目一杯活用
    CSS、スクリプトをHTML側に埋め込むか非同期にする
    バックグラウンドスレッドを活用するとか(もう使ってるかも?)
    サーバとの通信回数、サイズの削減

    なんだかクラサバの謳い文句を思い出した

  • by Anonymous Coward on 2014年04月15日 14時55分 (#2582450)

    リンク踏んでもFlashインストールしてないと見られないんだよね。(Youtubeも時々見られない物がある)
    そういうのが続くとだんだんどうてもよくなっちゃうんで今後はWeb標準でがんばって貰いたいかんじ。

    #プレミアム会員になってもFlash ぶち殺しだとニコニコ静画の一部しかみられないよ!

    • by Anonymous Coward
      自分から進んで特殊な環境にしておいて「あれが出来ない」「これが無理」と言われても誰も聞く耳持たんでしょ。
      • by Anonymous Coward

        Flashなしが特殊とか言われなくなるのはあとどれくらいかかるだろうか。
        早く死んでほしい。

        • by Anonymous Coward

          簡単ですよ。
          Flashよりもあらゆる面で優れた技術を開発し公開すれば良いだけです。
          何故それを誰もやろうとしないのか、個人的に不思議で仕方が無いんですけれど。

          • by Anonymous Coward
            それがHTML5とJSだったんだとおもいますがね。

            速度面などはJSのネイティブ実行がもう少し進むと変わってくるのかもしれません(でもJSも結局統一されてないのでそこが問題か。Flashの利点の一つだったわけだし)。

            あとはコード丸出し、コード書き換えの敷居低下にどれくらい耐えられるのか…。
        • by Anonymous Coward

          ブチ殺しとか死ねとかMacユーザはほんと言葉が汚いな

  • by Anonymous Coward on 2014年04月15日 15時49分 (#2582481)

    少なくとも数秒間は飛ばせない強制広告があるYoutubeよりはマシかと思っていましたが、
    最近はニコニコにもそれが導入されたようですね。
    プレミアム会員を優遇する要素を増やすのは仕方ないですが、未だに売り物っぽい動画素材の投稿をしょっちゅう見掛けるのはそれでいいのか…

    • by Anonymous Coward

      プレミアム会員でも再生スタート時に動画広告が割り込んできたので驚きました。
      これまた分かり辛い場所にある設定を探すとオフにできましたが、何のためのプレミアム会員なのかと…。
      コメントログの下に出てくる広告とかもそうですが、プレミアム会員でも広告を完全には排除できないので、どうもお得感に欠けるんですよね。
      月額課金ユーザーになっても不満は尽きないというか、優遇してもらいたいのはそこじゃない!というか…。

      • by Anonymous Coward
        あなたにとっては驚きの事実かもしれませんが、実は有料のCSチャンネルにもCMってあるんですよ!
        • by Anonymous Coward

          お金を払ってまでCMを見るとか、有料のCSのチャンネルが流行らないわけがよくわかりますね!

  • by Anonymous Coward on 2014年04月15日 19時25分 (#2582599)

    人間は手書きアセンブラでコンピュータ(gcc/clang/msvc)の最適化に勝てるか! みたいな。

  • by Anonymous Coward on 2014年04月15日 22時01分 (#2582702)

    パフォーマンスの話題なんで便乗。

    APIサーバみたく、大抵のアクセスが断続的で数秒程度以上の間隔があくような場合は、そりゃConnection:closeした方がいいのは知ってるけど
    ごく稀に、ただの静的なファイルを配信してるだけなのにConnection:closeなサーバがあるんだよね。
    ちょうど、ニコニコ静画のサイトがそうなってるっぽい。

    静的ファイルの配信でも、いちいちcloseしないとコネクションを捌けない、なんて事はよくある事なんだろうか?
    それとも殆どの場合は単純なサーバの設定ミスと考えていいんだろうか?

  • by Anonymous Coward on 2014年04月16日 0時10分 (#2582761)

    という点では彼らの大勝利でないか、これ。
    旨いアイデアだと思うわ。

    • by Anonymous Coward

      何だかんだドワンゴってボランティアを駆り出させるのが上手いですよね。
      # 「旨い」アイデアとは言いえて妙

  • by Anonymous Coward on 2014年04月16日 7時56分 (#2582871)

    なんだ、チューニングか

typodupeerror

人生unstable -- あるハッカー

読み込み中...