タグ

performanceに関するtyoro1210のブックマーク (36)

  • はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog

    はてなブログでSREをやっているid:cohalzです。 2019年12月頃からid:utgwkkやid:onkとともに、はてなブログにおけるキャッシュ周りの改善を行いました。その結果、次のような成果が得られました。 ブログ記事のキャッシュヒット率が、1日平均で8%から58%に向上 アプリケーションサーバの台数を、以前の半数以下に削減 DBに届くリクエスト数が、以前の3分の2まで減少 レスポンスタイムの平均が、以前の8割まで減少 この記事では、実際にどういった改善を行ったのか、その際に気をつけたことや大変だったことを紹介します。 はてなブログがVarnishを導入した経緯と課題 開発合宿をきっかけに問題が明らかになる 進め方をまず考える ホストのメモリをできるだけたくさん利用する メモリを積んだホストでなぜかレイテンシが悪化 キャッシュが分散しないようVaryヘッダを使う デバイス情報を適

    はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話 - Hatena Developer Blog
    tyoro1210
    tyoro1210 2020/09/18
    『キャッシュヒット率が8%程度しかなく』割と今までふわっと運用されてたんだな とは思うけど、改善しはじめると やれる範囲ゴリゴリ進めていく感じええな
  • Rendering on the Web  |  Articles  |  web.dev

    Rendering on the Web Stay organized with collections Save and categorize content based on your preferences. One of the core decisions web developers must make is where to implement logic and rendering in their application. This can be difficult because there are so maby ways to build a website. Our understanding of this space is informed by our work in Chrome talking to large sites over the past f

  • ファミコンのグラフィックスの省メモリ化テクニックとは? | POSTD

    1983年に発売されたNintendo Entertainment System(NES、日での商品名は「ファミリーコンピューター」、以下「ファミコン」)は安価なのに高性能だったため、大ヒット商品となりました。独自設計のピクチャー・プロセシング・ユニット(PPU)を使うことで、当時としては驚きの映像を生み出すことができました。そして、今でも特定の環境で視聴すればとてもきれいな映像が楽しめます。一番の業績はメモリの利用効率です。グラフィックスを最小限のバイト数で作成することに成功しました。それと同時にファミコンは、開発者に便利で使いやすいツールを提供しました。その点でも、それまでのテレビゲーム機とは一線を画した製品でした。ファミコンのグラフィックスの生成方式を理解すれば、システムの技術的な優れた能力のありがたみが分かるはずです。そして、現代のゲーム製作者が現在のマシンではどれだけ簡単に作業

    ファミコンのグラフィックスの省メモリ化テクニックとは? | POSTD
  • リニューアルした日経電子版が高速すぎてヤバイ件|こんぴゅ

    経済新聞は国内を代表する経済誌だ。その電子版はwebでの継続課金を大成功させ、いまや50万以上の有料会員を擁するモンスターサイトだ。 その日経電子版が11月6日に全面リニューアルしたのだが、公開後、web業界がにわかにざわついた。表示速度が爆速だったのだ。日経公式もモバイルで2倍の表示速度を達成したと堂々と宣言していた。 webサービスは継続率こそ神KPIで、その継続率には速度が大きく影響する。 これはチェキらないとヤバイと感じ、友人のkitakさんとスピードの秘密を調査してみた。 Fastlyをコンテンツキャッシュに使う殆どのデータはFastlyを経由して取得されていた。Fastlyは最近注目を集めているCDN(世界中にエッジサーバーを配置し、高速にコンテンツを配信するサービス)で、非常に高機能でユニークなサービスだ。 一般に、CDNはいったん世界中にコンテンツをばらまくと、それを無

    リニューアルした日経電子版が高速すぎてヤバイ件|こんぴゅ
  • rsyncの負荷を抑える方法 - 理想未来ってなんやねん

    リモートサーバーとのファイル同期の際にrsyncコマンドを使用すると便利ですが、特に何も指定しない場合は全力で働いてくれるため負荷が掛かります。 rsyncの負荷を抑える方法について、いくつか記載したいと思います。 1. 転送速度を調整する bwlimitオプションを付けることで、転送する速度を調整できます。 指定する値の単位はKbps単位で指定すします。 例えば、1MB/secの場合は 1024KB/sec→8192 Kbps/secなので --bwlimit=8192を指定します。 rsync -e "ssh" --bwlimit=8192 remotehost:/remote_srcdir/ /local_destdir 2. sshを使用する場合、負荷の低い暗号方式でCPU負荷を抑える ssh経由でrsyncを使用する場合、セキュリティ上特に問題がなければ arcfour(RC4)

    rsyncの負荷を抑える方法 - 理想未来ってなんやねん
  • プロセス毎のメモリ消費量を調べたい時に使えるコマンド - Qiita

    # ps aux | grep unicor[n] USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND user 1111 0.0 10.4 479180 177440 ? Sl Aug16 0:38 unicorn worker[0] -D -E production -c /RAILS_ROOT/config/unicorn.rb user 2222 0.0 10.5 547060 178604 ? Sl Aug16 0:39 unicorn worker[1] -D -E production -c /RAILS_ROOT/config/unicorn.rb user 3333 0.0 10.5 479180 178764 ? Sl Aug16 0:26 unicorn worker[2] -D -E production -

    プロセス毎のメモリ消費量を調べたい時に使えるコマンド - Qiita
    tyoro1210
    tyoro1210 2016/12/16
    実際のメモリ消費ギリギリまで使い切るなら pmaps で見てる方が正確なんじゃなかろうか。
  • Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる

    Linux は fork で子プロセスを作成した場合、親の仮想メモリ空間の内容を子へコピーする必要があります。しかしまともに全空間をコピーしていたのでは fork のコストが高くなってしまいますし、子が親と同じようなプロセスとして動作し続ける場合は、内容の重複したページが多数できてしまい、効率がよくありません。 そこで、Linux の仮想メモリは、メモリ空間を舐めてコピーするのではなく、はじめは親子でメモリ領域を共有しておいて、書き込みがあった時点で、その書き込みのあったページだけを親子で個別に持つという仕組みでこの問題を回避します。Copy-On-Write (CoW) と呼ばれる戦略です。共有メモリページは、親子それぞれの仮想メモリ空間を同一の物理メモリにマッピングすることで実現されます。より詳しくは コピーオンライト - Wikipedia などを参照してください。 この CoW に

    Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる
  • New Relic MySQL PluginでAmazon RDS for MySQLの性能を監視 | 稲葉サーバーデザイン

    北海道札幌市在住、サーバー専門のフリーランスエンジニアです。クラウドサービスを利用してWebサイト、ITシステムのサーバー構成設計とサーバー構築を行います。 ひとつ前の記事で、CactiプラグインによるAmazon RDSの性能監視について書きましたが、ここではNew Relicプラグインによる性能監視についてまとめます。 New Relicについて New Relicは、SaaS型の性能監視サービスです。 ・New Relic https://newrelic.com/ 少し古いですが、このブログでもNew Relicを紹介しました。 ・性能監視サービスNew Relicについて https://inaba-serverdesign.jp/blog/20130912/newrelic.html New Relicは、サーバーにエージェントをインストールすることで自動的に監視データをNew

    New Relic MySQL PluginでAmazon RDS for MySQLの性能を監視 | 稲葉サーバーデザイン
  • MySQL のJOIN に関するメモ - LukeSilvia’s diary

    内容 FROM 句のテーブルの順番と、MySQL がテーブルをJOIN する順番は別 STRAIGHT_JOIN と eq_ref, ref eq_ref になるようにするために JOIN 条件の書き方 STRAIGHT_JOIN をいつ使うか 今回の検証に用いたMySQL は4.0.26。また、例として、以下のテーブルを用いる。(テーブルは、「逆算式SQL教科書」のもの) [study]> SHOW FIELDS FROM uriage; +-------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------+------+-----+---------+---------------

    MySQL のJOIN に関するメモ - LukeSilvia’s diary
  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

  • MySQLのメモリ設定の勘所 – sawara.me

    MySQLサーバーをダウンさせた夜は数知れず。 その度にmy.cnfの設定を見なおしてみてはトライし、治ったと思いきや突然のダウン。 サーバーがダウンしてしまう原因は何かと聞かれれば、「メモリです」と断言しましょう。 メモリ設定は諸刃の剣。 パフォーマンスを最大に引き出すこともできればそれと引き換えにサーバーをダウンさせてしまうこともできるんです。 今回はMySQLのメモリの設定の勘所というかたちで紹介しようと思います。 グローバルバッファとスレッドバッファ メモリの設定についてまず「グローバルバッファ」と「スレッドバッファ」について理解しておくことが大事です。バッファとは一時的な記憶領域・つまりはメモリの領域のことなのですが。 グローバルバッファ MySQLで使用する全体的なメモリ使用量を計算するには グローバルバッファ + (スレッドバッファ × コネクション数) = メモリ使用量 と

    MySQLのメモリ設定の勘所 – sawara.me
  • クエリキャッシュは切ったほうがいいんじゃなイカ? : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の2日目は、昨日に引き続き、MySQLを骨までしゃぶるためのテクニックです。 ソーシャルゲームは一般サイトよりもDBへの更新クエリの割合が多くなりがちです。更新クエリが多いMySQLでは、通常は有益なクエリキャッシュが無益どころか有害になります。 そもそもキャッシュヒット率が低い。20%以下なんてこともザラにある しかもクエリキャッシュの更新はグローバルなロックを取得する からです。特に後者は問題です。ただの参照クエリもクエリキャッシュを更新する上に、更新クエリはクエリキャッシュの全エントリをチェックして、更新したテーブルに影響がありそうな全キャッシュをdiscardしていくためです。たとえばユーザーの行動力のようなパラメータを格納した参照も更新も多いテーブルでクエリキャッシュが有効になって

    クエリキャッシュは切ったほうがいいんじゃなイカ? : DSAS開発者の部屋
  • MySQL Cache メモ - Qiita

    メモと言う名のコピペ ちょっと古い、5.1 だけど日語ドキュメントがそこしか無かったのと、英語読む気力ないけど、とりあえずめも 動作とかごにょごにょ クエリ キャッシュは、SELECT SQL_CALC_FOUND_ROWS ... のクエリで動作し、後続する SELECT FOUND_ROWS() クエリで返る値を格納します。FOUND_ROWS() は前のクエリがキャッシュからフェッチしていても、正確な値を返します。これは、検索したレコードの数をキャッシュで保管しているためです。SELECT FOUND_ROWS() クエリ自体はキャッシュの対象ではありません。 クエリをキャッシュする設定である場合、その結果 (クライアントに送信したデータ) を、結果の読み出し中に、クエリ キャッシュに格納します。そのため、データの扱いは、ひとまとめではありません。つまり、クエリ キャッシュで、デー

    MySQL Cache メモ - Qiita
    tyoro1210
    tyoro1210 2016/01/26
    クエリキャッシュ 『キャッシュしない条件』
  • MySQLTunerでMySQLのチューニングを診断する方法

    https://github.com/rackerhacker/MySQLTuner-perl MySQLTunerはMySQLのチューニングを診断してくれるアプリケーションです。 基的なパフォーマンスチューニングのヒントをわかりやすく表示してくれます。 MySQLのチューニング設定に不安な方や、はじめてMySQLをさわる方は試してみると良いでしょう。 ライセンスはGNU GPLで無料で使えます。 検証環境 CentOS 6.3(64bit) MySQL 5.5.28 MySQL 5.5をインストール MySQL 5.5をインストールします。 # wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86

    MySQLTunerでMySQLのチューニングを診断する方法
  • PageSpeed Insights

    This site uses cookies from Google to deliver its services and to analyze traffic.

  • Pingdom Tools

    Use this free Website Speed Test to analyze the load speed of your websites, and learn how to make them faster.

    Pingdom Tools
  • Apacheパフォーマンス・チューニングの実践

    前回、ボトルネックになり得るポイントの検討やベンチマークツール「ab」によるパフォーマンス・チェック方法を紹介した。今回はそれらを基に、Apacheのチューニングを行っていく。 処理の簡略化による負荷の低減 初めに紹介するのは、処理を減らすことによってApacheの負荷を少なくする方法だ。1つ1つの効果は小さいかもしれないが、積み重なると大きな差となって表れる。 不必要なモジュールの削除 最初に行うチューニングは、不必要なモジュールの削除だ。周知のとおり、Apacheはモジュールの組み合わせで動作している。モジュールの種類は実にさまざまで、仮想ディレクトリ機能(mod_alias)やユーザーディレクトリ(mod_userdir)といった基的な機能さえも、モジュールとして実装しているくらいである。 Apacheがこのような形態で実装されているおかげで、利用する側は不要な機能を切り離してプロ

    Apacheパフォーマンス・チューニングの実践
  • 無料パフォーマンステスト | 負荷テスト

    これまで、負荷テストの実行には専門知識と実行環境の準備に多くのコストが必要でした。社会からWebサービスの性能に関する不具合をゼロにするために、簡単、無料、圧倒的な負荷テストサービスを提供します。 ユーザビリティ サーバの応答速度は常に変化し、利用者の直帰率に大きく影響を与えます。サーバの応答速度を可視化し、日々計測することで、すみやかに問題個所を発見できます。 性能測定 サーバの性能不足により、せっかくの営業機会を失うサイトが多く存在します。サーバの性能を正しく把握することで、予測される負荷に応じたサーバの増強ができます。 負荷チェッカー/カレンダーを利用したテスト(ジョブ)の予約や、グラフィカルな結果画面を準備しており、初心者の方にも大変使いやすいサービス。インスタントテスト/URLを入力するだけで、すぐに負荷テストを行うことができます。シナリオテスト/ログインが必要なページや複数のペ

    無料パフォーマンステスト | 負荷テスト
    tyoro1210
    tyoro1210 2014/02/20
    無料で使える田代砲? / 追記:バルスじゃない方にもメアドによるドメイン制限がかかった。
  • ホーム| CloudFlare | Webパフォーマンス&セキュリティ会社

    CloudFlare CDN それはあなたの訪問者(あなたのサイトをスピードアップ)に近いですので、世界中にコンテンツを配布する。 CloudFlareオプティマイザ 広告サーバーとサードパーティーのウィジェットを持つWebページは、携帯電話とコンピュータの両方でてきぱきとロード。 CloudFlareセキュリティ スパマーからSQLインジェクションへのDDOSのオンラインの脅威の範囲からあなたのウェブサイトを保護する。 CloudFlare分析 脅威と検索エンジンのクローラを含むWebサイトのトラフィックのすべての洞察力を得る。 CloudFlareアプリ CloudFlareアプリは、高速、安全とワンクリックの簡単なサイト上のWebアプリケーションをインストールすることができます。

  • クエリキャッシュを切ったほうがいイカ? ベンチマークしてみた - 酒日記 はてな支店

    カジュアル!(挨拶) このエントリは MySQL Casual Advent Calendar 2011 の18日目の記事です。 昔、専ら PostgreSQL を使っていた頃、MySQL のクエリキャッシュって簡単に性能上がるしみたいだし羨ましいなあ、と思っていました。そのため、1年ほど前から業務で MySQL を使うようになっても、クエリキャッシュは当然のごとく有効にしておりました。 ところが先日 DSAS開発者の部屋:クエリキャッシュは切ったほうがいいんじゃなイカ? というエントリを読みまして、クエリキャッシュはグローバルロックを獲得するとのこと。これはちょっと検証してみなければなるまい、ということでベンチマークをしてみました。 ベンチマーク結果 結果は別ページにまとめました benchmark script と my.cnf ざっくりと説明しますと、 平均 260 byte/行、1

    クエリキャッシュを切ったほうがいイカ? ベンチマークしてみた - 酒日記 はてな支店