30+ capabilities, 750+ integrations, the power of AI, all together.
![Real-Time Web App Performance Monitoring : New Relic](https://cdn-ak-scissors.b.st-hatena.com/image/square/b103918a740e023bc204bb60feeefd37a7adf8b7/height=288;version=1;width=512/https%3A%2F%2Fnewrelic.com%2Fthemes%2Fcustom%2Ferno%2Fassets%2Fimages%2Fmetadata%2FNROG_Image.png)
MySQLコミュニティマネージャのMorgan Tocker氏による、テーブルサイズが大きくなるにつれてINSERTのパフォーマンスが落ちてきてしまうことを防ぐ様々な方法についてのまとめ。 今日は、パフォーマンス問題を引き起こす原因になる、サイズの大きいテーブルのパフォーマンスを改善することについて書いてみようと思う。このアドバイスのうちのいくつかは、たくさんのテーブルをまとめて大きくなっているデータベースにも適用できるが、大抵の場合、独立した大きなテーブルというのは特に問題になりやすいものだ。 一般的に知られていると思われるのは、テーブルを変更する時のスピードは、そのサイズが大きくなるにつれて遅くなることだ。以下の図は、一般的なB+ツリーインデックスのパフォーマンスを時系列で見たものだ。 このグラフは、MySQL@Facebookの記事から拝借したものだ。これは、insert buffe
MySQL 5.1で追加されたメジャーな機能の影に隠れた、地味だが便利な改善がある。それがスロークエリログに関する仕様である。MySQL 5.0まではスロークエリログは1秒未満のクエリを捕捉することが出来なかった。が、MySQL 5.1では1マイクロ秒までのクエリを記録できるようになっている。従って、0.5秒かかるけど大量に実行されてパフォーマンスに大きな影響を与えている!というようなクエリの発見が出来るようになった。1秒未満のクエリを追跡したい場合、例えば以下のような設定をする。 [mysqld] slow_query_log=ON slow_query_log_file=mysql-slow.log long_query_time=0.1 MySQL 5.0まではlog_slow_queryというオプションだったのが、MySQL 5.1ではslow_query_logというオプション名
Webシステム開発において性能試験を行う場合、hp LoadRunnerやApache JMeterといったウェブブラウザをエミュレーションしてくれる負荷テストツールを用いるのが定番だと思います。そんななか、たまにデータベース単体での性能を測ってほしいと頼まれることがあるので、そうした便利なツールはあるのかなと思って調べてみました。 データベースに対する負荷テストツールは探すとたくさん出てくるのですが、案件で使用しているRDBMSに対応していなかったり、トランザクション仕様が希望と異なっていたり、微妙に作りが悪かったりと、ニーズに合致したツールはすぐには見つかりません。そんなときにこのエントリがツール探しの参考になればと思います。 pgbench 対応RDBMS:PostgreSQL 対応OS:Linuxなど 言語:C 作者:石井達夫氏 ライセンス:独自(BSDライセンスに近い) トランザ
データベース負荷テストツールまとめの第2回です。 前回はTPC-Bベース、TPC-Wベースのものから6つのツールをご紹介しました。今回はTPC-Cベースのものについて見ていきたいと思います。 tpcc-mysql 対応RDBMS:MySQL 対応OS:Linuxなど 言語:C 作者:Percona Inc. ライセンス:不明(ライセンスに関する記述がない) トランザクション仕様:TPC-Cベース URL:https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql tpcc-mysqlはMySQLのコンサル会社であるPercona Inc.によって開発されたベンチマークツールで、TPC-Cをベースとしています。TPC-Cの仕様やtpcc-mysqlについては以前のエントリで詳しく扱っているので、そちらをご覧ください。 tpc
サーバー上でさまざまなサービスを構築する前に、そのサーバーの処理能力を把握しておくことは重要だ。特にネットワークの帯域やストレージの速度といったリソースはサービスの品質に大きく関わってくる。そこで、今回はこれらの性能を調査するためのベンチマークツールやその使い方を紹介する。 ネットワークの性能を調査するベンチマークツール まずはネットワーク関連の性能を調査するベンチマークについて紹介しよう。ネットワークの性能といっても、その指標は次のように複数ある。 スループット(速度、帯域幅) レイテンシ(遅延) パケットロス(損失パケット) まず1つめは、スループット(ネットワークの速度)だ。帯域幅などとも呼ばれるが、ネットワークの性能としてもっとも重視されるのはこれだろう。ネットワークの速度が早ければそれだけ多くの情報をやり取りできるし、またより多くの接続に対して迅速に反応できるようになる。通常スル
日本アニメ初の快挙!海外アニメ賞を受賞した『スキップとローファー』海外ライセンス部長&プロデューサーが語る、奮闘の舞台裏
「特定CPUコアでのボトルネック」と「リソースの奪い合い」が2大ボトルネック 第2回、第3回ではディスクI/Oボトルネックについて説明しました。レスポンスとスループットの関係を正しく理解し、I/Oスループットを最大化するようチューニングすれば、ほとんどの大規模処理は速くなります。ユーザもハッピー、皆さんもハッピー、さて家に帰りましょう。 ……しかし、次はだれかからこう聞かれることでしょう。 「CPUの使用率が異様に低いままなんだけど……?」 「CPUの使用率がずっと100%で張り付いているんだけど……?」 どっちやねん!と思うでしょうが、どちらも大規模データを処理するときに特に起こりえる問題です。 ボトルネックは、1つが解消すると、新たなポイントが明らかになるものです。そして多くのケースにおいて、ディスクI/Oボトルネックが解消した場合、次に詰まるのはCPUなのです。 CPUボトルネックは
Table of Contents What is the FromDual Performance Monitor for MariaDB and MySQL (fpmmm)? Available modules Prerequisites Download and install Considerations Enterprise subscription and Support Monitoring as a Service (MaaS) Examples What is the FromDual Performance Monitor for MariaDB and MySQL (fpmmm)? The FromDual Performance Monitor (fpmmm) for MariaDB, Galera Cluster, MySQL and Percona Server
13.2. あまり知られていない設定はい、変更できるパラメータはとてもたくさんあります。 ここではそれらすべてをリストしたいと考えています。 一部は Documentation/ip-sysctl.txt でも説明されています。 カーネルのコンパイル時に 'Configure as router and not host' に 'Yes' と答えていると、これらの設定のデフォルトが、 ここに示すものとは異なっているかもしれません。 Oskar Andreasson も、これらのフラグに関するページを公開しています。 ここのものより良いように思えますので、 彼のページ もチェックしてみてください。 訳注: この部分の訳出にあたっては、 2.2 カーネル付属文書 proc.txt の翻訳 を参考にさせていただきました。 13.2.1. ipv4 全体一般的な注意ですが、ほとんどの速度制限機能は
Webアプリケーションのパフォーマンスをトラッキングするために、app serverの処理にかかった時間を記録したい。 方法を、以下のように分類できる。 1. reverse proxy側で、proxy先のapp serverがレスポンスを返してくるのにかかった時間をログに記録する場合 1.1 nginx 1.2 apache 2. app serverでリクエスト処理にかかった時間を出して、ログに記録する場合 2.1 reverse proxyで記録する場合 2.2 app serverでログに記録する場合 1と2とでは出てくる数字が違うだろうけど、本件に必要なのはパフォーマンス改善を示す一貫した指標なので、どっちでもいいと思う。 1. reverse proxy側で取る場合 1.1 nginx log_formatディレクティブに$upstream_response_timeという変数
UNIX系のOSで利用できるWebサーバの性能測定ツールといえば、Apache Benchやhttperfを思い浮かべる人が多いのではないでしょうか。これらの計測ツールは、残念ながら最近の高速なWebサーバを計測するには非力です。この記事では、高速なWebサーバにも負けないweighttpの使い方を紹介します。 weighttpとは何か weighttpは、Webサーバlighttpdの開発者が実装したWebサーバの性能測定ツールです。以下のような特徴を持ちます。 Webサーバのスループット(リクエスト毎秒)を測定できる ネイティブスレッドを複数起動し測定性能を向上できる libevを利用することで、モダンなポール・システムコールを利用する Apache Benchによく似たコマンドラインオプションを持つ 2.は Apache Benchやhttperfにはない機能です。ここが決定的に異な
久々に社内向けに勉強会を行いました。 既に稼働しているサービスの、サーバの台数調整の考え方についてです。半分くらいは口頭で話したので資料だけでは物足りないかと思います。が、せっかくなので公開しておきます。 内容はインフラ管理についてですが、対象者はどちらかというとアプリケーションエンジニアとして作成・発表しました。資料と、ブログ用に補足を書いていきます。 作りやすくて頼りになるので、 もう、赤さんはテンプレでいいかな、とも思い始めました。 補足 勉強会をするに至った理由 いわゆるインフラエンジニアが、サーバの負荷状態を観測したり、台数を判断できるのはアタリマエですが、サービスを作成しているアプリケーションエンジニアにとってはアタリマエではなかったりします。 理想としては、WEBエンジニアたるもの、自宅サーバやレンタルサーバを1つは持っていて 総合的な知識を得ようとする環境・努力をして欲しい
もっと詳しい方のフォロー募集です アプリケーションがマルチスレッドになってもネットワーク処理が分散されなければマルチコアを活かせない典型的な例です。id:viverの古橋さんがs100kpsとしてあげていた件にも近いかも。 memcachedで現象を確認します。最近のmemcachedはマルチスレッドで動くようになっているので、まずはそれを確認します。 $ memcached-tool localhost stats|grep threads threads 4 スレッドが4つで起動しています。 負荷がそれなりにある状態(8000req/sec程度)で、コマンドラインでtopを開き、「1」キーを押して、CPUごとの使用率を表示します。(例はFedora8 kernel-2.6.23) Tasks: 77 total, 1 running, 76 sleeping, 0 stopped, 0
Webパフォーマンス ベストプラクティス Last updated: 02 October 2012 翻訳:@t32k WebページをPage Speedで調べるとルールに準拠していないものが提示される。このルールというのは、一般的にあなたが開発段階において取り入れるべきフロントエンドのベストプラクティスだ。あなたがPage Speedを使用しようとしまいと、私たちはこの各ルールについてのドキュメントを提供する(たぶんちょうど新しいサイトを開発中でテストする準備が整ってないだろう)。もちろん、これらのページはいつでも参照することができる。私たちはあなたの開発プロセスに取り入れてもらうために、このベストプラクティスを実装するための明確なティップスと提案を提供する。 パフォーマンス ベストプラクティスについて Page Speedはクライアント側からの観点でパフォーマンスを評価し、一般的にペー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く