忘れちゃいそうなので、備忘録を兼ねて

基本的に動画広告で必ず指定する項目

映像コーデックは H.264 (mpeg4)で、音声コーデックは AAC

moov atom、プログレッシブ対応

-movflags faststart

ブランド ftyp (mp4であれば、mp42指定)

-brand mp42

映像フレームレートは29.97fps固定

-r 29.97

互換性 プロファイル

-profile:v baseline -level 3.0 とか
-profile:v baseline -level 3.1

上記は互換性が高いが、ファイルサイズも大きくなるので、スマホのWEB用の動画であれば指定しない事が多い(デフォルトhigh)

[続きをもっと見る…]

Rust の Web Framework、 actix_webTechEmpower のベンチマークでは、すごいパフォーマンスを示しています。

しかし、業務で使おうと思ったときに、本当のところどうなの?というのは気になるところです。
特に私の所属するアドテク界隈では、ミリ秒単位のパフォーマンス・チューニングが求められます。
実際、当初actix_webで要求レイテンシを満たせませんでした。
しかし、同僚の非常に有用なアドバイスにより打開することができたため、ブログにて公開しようと思った次第です。

パフォーマンスの測定及びチューニングは、下記のケースで行いました。

  • 固定文字列を返すだけ
  • 100msスリープしてから固定文字列を返す
  • 外部サーバにgRPC通信し結果を返す

※ 実は上記以外のケースでもベンチマークを取っております。結果とソースコードはGithubにて公開しました。
https://github.com/x1-/actix_web_benchmark
結果だけ知りたい方はこちらをご覧になられた方が良いかもしれません。

2018.11.01 追記
actix_web は HTTPコネクションが正しく閉じない問題が未だ解決しておりません(TT)
Connection not closed correctly #439
昨日(10/31)、 @legokichi さんから TCP FIN が正しくされていないのでは?とご指摘が入っています。

[続きをもっと見る…]