performanceに関するrjgeのブックマーク (32)

  • フロントエンジニアなら知っておきたいブラウザレンダリングの仕組みをわかりやすく解説! | Tech Blog

    この記事ではブラウザの仕組みを図解を用いてわかりやすくご説明します。 最近のブラウザは優秀なので、ブラウザの仕組みを理解していなくても、パフォーマンスの問題が発生することは少ないかもしれません。 しかし、アニメーションを多用するサイトやユーザーインタラクティブなサイトの場合、パフォーマンスの問題はとてもシビアです。 ブラウザの仕組みを知ることで、ブラウザのパフォーマンスを最大限に引き出す実装を行うことができます。 画面がなめらかに表示されないのはなぜ?スクロールをしていてカクつく。またはアニメーションがカクカクしている時というのはブラウザがどういう状態なのでしょうか? まずは、この状態を定量的に説明するためFPS(フレームレート)から説明します。 FPSとはFrame Per Secondの略で1秒ごとの画面(フレーム)の切り替わる回数を表しています。 ブラウザでサイトを見た際には最高で6

    フロントエンジニアなら知っておきたいブラウザレンダリングの仕組みをわかりやすく解説! | Tech Blog
  • Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ

    10もないかも、と思いながら項目を書き出してみたら10以上余裕であってキリがないので10で収めた。いやあ、あるなあ。 仕事柄よくベンチマークを実行したりしてて色々と思うところが溜まっていたところ、以下のような記事を見掛けたのでなんか書こうと思った。ところでこの記事はベンチマークを実行するための準備作業がループを回して2時間かかるところの待ち時間に書かれている。 sfujiwara.hatenablog.com ISUCONといえば多少縁があるコンテストで、文中でISUCON5のことについても言及されているので、それも含めて。 自分が業務でいじっているのは "Webアプリケーション" というとちょっと違うんじゃないのというものばかりだが、いやー、最近なんでもHTTPで外部APIを作るからベンチマークのコツとしては大体変わんなかったりするよね。 なおこの記事でベンチマークはどのようなものかとか

    Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ
  • Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化

    Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化 Facebookは、Linuxバイナリの内部配置を最適化することによりCPUのキャッシュ効率などを向上させ、実行速度を改善する「BOLT」をオープンソースで公開しました。 BOLTは「Binary optimization and layout tool」の略とされています(もしかしたら、より速く走るという意味でウサイン・ボルト氏にかけているのかもしれません)。 BOLTは言語やコンパイラに依存せず、ソースコードも不要 BOLTのおもな効果は、Linuxバイナリの実行状況をperfコマンドで取得し、高頻度で実行されている部分などを判別した上で、そうした部分がCPUキャッシュにヒットしやすいようにバイナリの内部配置を改善することなどで実行速度を向上させることと

    Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化
    rjge
    rjge 2018/06/21
    “FacebookはBOLTを用いて同社のアプリケーション実行環境であるHHVMを処理したところ、実行状況によって度合いが異なるものの、おおむね2パーセントから15パーセント程度の性能向上が見られた”
  • Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio

    Mackerelチームのエンジニアのid:itchynyです。 「mackerel-agentを入れるとloadavgが7時間ごとに上昇する」 先日、このような問い合わせを複数のお客さまから受けました。私も実験してみたところ、確かに再現しました。EC2 t2.microにmackerel-agentを入れて簡単なログ監視とプロセス監視を設定し、数日放置しました。 確かに、約7時間ごとにloadavgが上昇しています。この周期のcronの設定はしておらず、またmackerel-agent内部でも7時間ごとに行う処理はありません。しかし、プラグインを多く入れるほどloadavgのピーク値も上がります。 エントリーでは、この現象の原因について説明します。 loadavgが上昇する原因を調べるには、まずloadavg自体がどう計算されているかを知る必要があります。 まずは、Linuxがloada

    Linuxのloadavgが約7時間ごとに上昇する現象の原因 - Mackerel お知らせ #mackerelio
  • テストで実際に見たウェブサーバの「遅い」状態とは - Qiita

    さくらインターネットのアドベントカレンダー25日目が空いてしまったので、ウェブサーバのチューンナップについて書くことにしました。 私は今日からお休みですが、さくらインターネットは年末年始も休まずに働いていますので、ご安心ください。 年末年始のシフトに入ってくれた社員の皆さんに感謝です。 ということで、責任を持って空いたカレンダーの埋め合わせをさせて頂きますw サーバのレスポンスが遅いとは? なんだかサーバのレスポンスが悪いなぁってことは皆さんも体験されたことあると思います。 原因としては大きく分けて2種類あり、ひとつはApacheやnginxなどのウェブサーバソフトウェアの設定において同時に処理できる上限に達しているケースと、サーバ自体の負荷が高まっているケースです。 前者はApacheでいうとMaxClientsを調整することで対応できますが、そもそもサーバの性能以上にMaxClient

    テストで実際に見たウェブサーバの「遅い」状態とは - Qiita
  • Node.js Performance 改善ガイド - from scratch

    Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに

    Node.js Performance 改善ガイド - from scratch
  • dev.toがなぜinsanely fastを実現出来ているか - Qiita

    INSANELY FAST Qiitaを読んでる人なら https://dev.to をほとんどの人が見たはず。見てない人は見てきてください、速すぎて驚くはず。またmizchiさんがdev.toに書いた なぜ dev.to がこんなにも速く、こんなにも自分にとって感動的なのか - dev.to を見た人も多いと思う。個人的にHeroku, Railsを採用してここまで爆速なサイトを構築出来ていることは今までの常識を覆す衝撃な出来事だった。こんな新しい発見をもたらしてくれたdev.toには当に感謝してる。自分もこんなサイト作ってみたいなと思ってdev.toのことを色々調べてて少し知見がたまったので共有してみます。 この記事はOkinawa.rb Advent Calendar 2017 7日目の記事です。 Twitterやってるのでよかったらフォローしてください🙋‍♀️ @saboyut

    dev.toがなぜinsanely fastを実現出来ているか - Qiita
  • [翻訳] たった一つの設定変更が如何にしてクエリのパフォーマンスを50倍も改善したか (How a single PostgreSQL config change improved slow query performance by 50x)

    先日、「How a single PostgreSQL config change improved slow query performance by 50x」というPostgreSQLSSD環境でのチューニングの記事を見つけたのですが、これをTweetしたらRTやLikeを比較的たくさん頂きました。 How a single PostgreSQL config change improved slow query performance by 50x https://amplitude.engineering/how-a-single-postgresql-config-change-improved-slow-query-performance-by-50x-85593b8991b0 How a single PostgreSQL config change improved sl

    rjge
    rjge 2017/11/29
    “PostgreSQLのデフォルトでは random_page_cost には 4 、seq_page_cost には 1 が設定されています” 設定値が原因で推定コストと実行時間が食い違ってたのか。何を基準にチューニングされてるかって大事だなぁ。
  • dev.toと阿部寛のホームページについてちゃんと計測させてくれ - Qiita

    Twitter見てたら、以下のツイートを見た。 数時間後、dev.toと阿部寛のホームページどっちが速いですか?というブログがTLに現れた。 GoogleのPageSpeed Insightsで測って阿部寛のホームページの方が早かったという結論付けてよいのかという疑問が浮かび、webpagetest.orgで計測することにした。 設定 阿部寛のホームページに関しては、Tokyoリージョンにあるものとする。 そして、dev.toはNY発らしいので、サーバーの設定をNYにして測定する。 The platform was created in 2016. The twitter account, @ThePraticalWeb 評価結果 Webpagetest - 阿部寛のホームページ Webpagetest - dev.to

    dev.toと阿部寛のホームページについてちゃんと計測させてくれ - Qiita
    rjge
    rjge 2017/11/17
    評価を結果でねじ伏せた感ある
  • なぜ dev.to がこんなにも速く、こんなにも自分にとって感動的なのか

    最初にいっておく。これは負け惜しみだ。 SPAとPWAの現状 自分は日Reactの勝手エヴァンジェリストみたいなことをやっていて、SPAの重めのコンテンツをよく作ってるからか、「お前らフロントエンドを物事をややこしくして、重いページを量産してウェブを劣化させてるじゃないか!」みたいな批判を、名指しでよく受ける。なんで僕にいうかわからないけど、React = SPA みたいなイメージでスケープゴートにされてるんだろう。それはまあいい。 自分の仕事でSPA技術を使うところは、ちゃんと必要性もあるし理由も説明できる。ただ、やはり近年の複雑化/重量化について思うところはあるので、逆に振って AMP/PWA という選択肢を持っておきたくて、正直言うと依頼されたR&Dの仕事でもあったんだけど、一通り覚えた。なんだけど、今のところ仕事で使うタイミングがない。 PWA技術仕事で使えなかった理由として

    なぜ dev.to がこんなにも速く、こんなにも自分にとって感動的なのか
    rjge
    rjge 2017/11/16
    “ソーシャルウィジェットと営業が持ってきた謎のアドとユーザーサポートのための謎SDKで驚きの重さに!” 呪いのテーマが頭の中で流れた
  • dev.toと阿部寛のホームページどっちが速いですか? - くうと徒然なるままに

    dev.toと阿部寛のホームページどっちが速いですか?— あれからのぐりだけど (@_guri3) 2017年11月15日 という内容のツイートを見つけたので計測してみる。 ずっとパソコンに向かってて飽きてたので息抜きで。 dev.to というのは、 Qiita の海外版みたなやつです。一番の特徴はナビゲーションの速さ。 対抗するのは、 THE Traditional Web Site というたたずまいで有名?な 阿部寛のホームページ 計測 今回は、Google の PageSpeed Insights を利用していきます。 dev.to まずは、dev.to から 86/100 です! 阿部 寛 のホームページ 92/100 です! まとめ 伝統的ウェブサイトの方が早かった!

    dev.toと阿部寛のホームページどっちが速いですか? - くうと徒然なるままに
    rjge
    rjge 2017/11/16
    阿部寛のホームページにはずっとあのままでいてほしい
  • Making dev.to insanely fast

    It makes me smile when someone raves about how fast this website loads, because that's no accident. We put a lot of effort into making it so. It is the sort of thing that usually goes unnoticed, but when your readers are developers, there's a better chance they notice and appreciate it. I have written about this in the past, but it's worth re-examining because these ideas are always evolving. From

    Making dev.to insanely fast
  • なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 - エンジニアHub|Webエンジニアのキャリアを考える!

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 『SQLパフォーマンス詳解』の翻訳者の松浦隼人さんに、8つの「SQLが重たくなる原因とその対策」を聞きました。システムのボトルネックになるような「問題のあるSQL」を回避するノウハウを学びましょう。 データの操作や定義をする言語「SQL」は、どのような領域を担うエンジニアにとっても必修科目です。しかし、その仕様をきちんと理解し、パフォーマンスに優れたSQLを書ける方はそれほど多くありません。問題のあるSQLを書いてしまい、知らぬ間にそれがシステムのボトルネックになってしまう事態はよく発生します。 では、どうすればそうした事態を回避できるのでしょうか? そのノウハウを学ぶため、今回は『SQLパフォーマンス詳解』の翻訳者であり、自身もエンジニアでもある松浦隼人(まつうら・はやと/@dblmkt)さんに8つ

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 - エンジニアHub|Webエンジニアのキャリアを考える!
    rjge
    rjge 2017/06/27
    当たり前のことを当たり前にやってけばいいだけなんだけど、そもそも当たり前って前提がずれてるんだろうなとこの手の話を読むたびに思う。ずれた当たり前を補って伝えるの難しい。
  • 1台あたり10,000人を捌くRails製Webサーバのチューニング - dely Tech Blog

    SREの深尾です。kurashiru [クラシル] のインフラを担当しています。 タイトルのとおり、クラシルのwebサイトではRailsを使っており、1サーバあたり10,000人程度のアクセスに耐えることができます。実際には余裕を持たせて5,000人/サーバを目安にスケールさせており、TV CMをガンガンやったり、国内外のTV番組で特集されたり、芸能人にSNSで拡散されても動じませんが、実は過去に1度だけWebサイトがダウンしてしまったことがあります。それは2017年3月11日にSmaSTATION!!というTV番組でクラシルが取り上げられた時のことでした。 以下はその時のリクエスト数を表すグラフです。ダウンしてしまったので計測できなかったユーザの数字は含まれませんがそれでもアクセス数は1分で数万人を超えていました。 それまで、Webサイトの負荷対策はあまり行っておらず、2台のWebサーバ

    1台あたり10,000人を捌くRails製Webサーバのチューニング - dely Tech Blog
    rjge
    rjge 2017/06/23
    タイトル見て10000 req/secのことかと思ったけどどうも違うな…?1000とか1500って数字が出てくるからreq/minかな?
  • CPU使用率は間違っている | Yakst

    Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが

    CPU使用率は間違っている | Yakst
  • MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ

    こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説します。 InnoDB のインデックスに関する基礎知識 インデックスの構造 (B+ 木) InnoDB では B+ 木が使われています。B+ 木は次のような特徴を持った木構造です。 次数を b とすると、

    MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
  • mysqlをdisる会 - Qiita

    はじめに やあ (´・ω・`) ようこそ、バーボンハウスへ。 このmysqlはサービスだから、まずsystemctl start mysqld して落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、このタイトルを見たとき、君は、きっと言葉では言い表せない 「ときめき」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい そう思って、この記事をかいたんだ じゃあ、注文を聞こうか。 というわけでmysqlをdisります。disるだけなので内容はありません。いいね? mysql には罠がいっぱい そうなんですよ罠がいっぱいなんですよ奥さん。 いやこれはおそらくmysqlに限った話ではないんですけど例えばこういうの! MySQLのチューニングなんてしたらパフォーマンス落ちるだけだし、デフォル

    mysqlをdisる会 - Qiita
  • ネットワークでなぜ遅延が生じるのか

    Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation

    ネットワークでなぜ遅延が生じるのか
  • mattnさんのリファクタリングを読み解く - 生涯未熟

    現在絶賛開発中のkirimoriですが、なんとGolang界隈で有名なmattnさんにリファクタリングをして頂くという、とても嬉しい事態がありました✨ kirimoriについてはこちら↓ syossan.hateblo.jp リファクタリング前提でかなり雑に書いていたのですが、めちゃくちゃ良い感じにコードを直して頂けたので自分の勉強のために読み解いてみます👏 リファクタリング前 kirimoriは以下の機能を有しています。 initコマンドでkirimoriの設定ファイル(toml形式)を作成します addコマンドでコマンドライン引数に指定したプラグインを追加します removeコマンドでコマンドライン引数に指定したプラグインを削除します listコマンドでプラグインの一覧を表示します で、構成的には kirimori.go に全てのコマンドの処理をベタ書きにしてある感じになっております

    mattnさんのリファクタリングを読み解く - 生涯未熟
  • もしインターネットの1秒が1年だったら - SunPro 2016技術書典

    2016年、インターネットが日中のあらゆる人間に行き渡るようになってから、すでに10年単位の時間が経過しています。今日においてインターネットを支えるネットワーク技術が重要であることは言うまでもありませんが、実際にネットワークでどのタイミングで何が起こり、どれくらいの時間が費やされるのかということを身を持って体感している人は、たとえネットワークに精通している人でも少ないのではないでしょうか?この記事では、1秒というわずかな時間を1年にまで拡大し、ネットワーク上で何が起こっているかを人間スケールでざっくりと解説していきます。 2.1 はじめに たぶんはじめまして。博多市(@hakatashi)です。今回は技術書典向けの小企画として、「インターネットの1秒がもし1年だったら」というだいぶ抽象的で怪しい記事を書こうと思います。 インターネットというのは光の速さを身をもって感じることができるメディ

    rjge
    rjge 2017/01/31
    面白いしクライアントちゃんとサーバーちゃんに愛着がわく