エウレカでは「パフォーマンス定点観測会」と称してバックエンドエンジニアとSREが週次でメトリクスを確認し,システムの品質観測と改善を行っています. この会を2年間ほど継続する中で,溜まってきた知見を紹介します. https://sre-lounge.connpass.com/event/151290/
エウレカでは「パフォーマンス定点観測会」と称してバックエンドエンジニアとSREが週次でメトリクスを確認し,システムの品質観測と改善を行っています. この会を2年間ほど継続する中で,溜まってきた知見を紹介します. https://sre-lounge.connpass.com/event/151290/
はじめに こんにちは! WEARバックエンド部バックエンドブロックの高久です。普段は弊社サービスであるWEARのバックエンド開発・保守を担当しています。 10周年を迎えたWEARは2024年5月9日に大規模なアプリリニューアルを行いました。アプリリニューアルに伴い負荷試験を行ったので、本記事ではどのように負荷試験を計画したか事例をご紹介します。 記事は計画編と実施編の2部構成で、本記事は前編の計画編となります。後編の実施編は近日、公開予定です。 目次 はじめに 目次 背景 計画の重要性 計画の策定 目的の整理 目標値の設定 スループット レイテンシ 試験方針 試験環境・データ 対象範囲 取得情報・確認観点の整理 負荷シナリオ 実施方法 リスク リリースしてみたらユーザ数が予想を超えてしまい性能問題が発生する 試験対象外とした箇所に性能問題が発生する 本番環境での試験時に性能問題が発生しユー
AWS Database Blog Monitor query plans for Amazon Aurora PostgreSQL As we continue to innovate and add new features on behalf of our customers, you can now maintain and manage query plans in Amazon Aurora PostgreSQL-Compatible Edition. This feature enables you to identify the query plans contributing to the current database load and track the performance statistics of query plans over time. In this
みなさん、AWS使ってますか!(挨拶 AWSに限らず、ある程度の規模の何かしらの本番システムを組もうというときに、こういう言葉を聞いたことはないでしょうか。 「負荷分散装置の下に並べる分散先 (サーバ) は3台以上がよい」 「AWS であれば3アベイラビリティゾーン (AZ) にまたがるとよい」 負荷分散装置(ロードバランサー)は負荷を分散するのがお仕事です。分散するだけなら 2 台でもよさそうですよね? AWS の3 AZ に至っては、そもそも AZ 単位の障害なんてそうそうないし、あったとしてももう片方の AZ が生きていればなんとかなりそうに思えます。 これがどういうことか、少し考えてみました。 おさらい:負荷分散装置と可用性の関係について まずはおさらいです。 負荷分散装置(ロードバランサー)は単純化していえば、その名前の通りひとつの名前(FQDN)へのアクセスを複数のサーバに分散
負荷試験シリーズ、書きたいことはイッパイある気がするんだけど、技術の総括的な感じがエグくて、どうしてもまとまりがなくなってしまう…… ということで、気分転換にザックリお絵描きしました。これで少しはテーマを切り取って小綺麗に書いていきやすくなったはず。 負荷試験の流れ それがこれじゃ!いくらでも肉付け項目が出てくるだろうけど、1画面に収める内容としては最小限としてほどよくまとまったはずである。 だいたい分かってもらえると思うけど、一応軽く説明はしておきます。長くならないよう、一言二言ずつで! 環境 クライアント・リソース 負荷試験ツールを動かすためのサーバー(群)。EC2 や ECS Fargate などのスポットで起動して安く済ませる。使い捨て用途なので、環境一式を作ったり削除したりを、一手で簡単にできるようにしておくと吉。 負荷試験ツール 疑似ユーザートラフィックを発生させるためのツール
AWSチームのすずきです。 SQL レベルのメトリクス をサポートを開始したパフォーマンスインサイト(Performance Insights)を利用して、 高負荷状態に陥った Amazon Aurora Provisioned (MySQL5.6互換) の稼働状況を確認する機会がありましたので紹介させていただきます。 環境 過負荷が発生した環境は、 CMS(WordPress)の 記事データベースとして利用している Aurora でした。 Performance Insights SQL情報 SQLの情報として、下記項目が表示されるようになりました。 calls/sec : 毎秒ごとの呼び出し avg latency (ms)/call : 平均レイテンシー rows examined/call : 一度の呼び出しで返される行数 一回の処理時間は短いが実行回数が多く、チリも積もって高い負
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。先日親知らずを抜歯した時、つらすぎたので MySQL の JOIN のことを考えて心の平静を保っていました。 サイボウズの製品のひとつである kintone はニーズに応じて自由に業務アプリのようなものを手軽に作ることができ、データの検索条件やソート条件も細かくカスタマイズ可能で、様々なレベルでのアクセス権も設定可能という非常に便利なツールです。 しかしその機能を支える裏側では複雑なクエリが発行され、MySQL に多大な負荷をかけています。サイボウズのクラウドには数十テラバイトに登る MySQL データがあり、数千万件オーダーのテーブルを複数 JOIN するクエリが毎秒のように実行されるという、エンジニア魂が滾る環境です。 現在サイボウズでは性能改善に力を入れており、僕もその業務に従事しています。例えば2018年
経緯 プログラムに大幅改修が入ったため旧環境と新環境でwebサーバーの負荷テストを行った。 apache jmeterとgatlingを比較して、gatlingを使うことになった。 負荷テスト初経験。scala未経験。。 各種バージョン windows10 => ローカル centos6 => gatling検証本番用サーバ gatling => gatling-charts-highcharts-bundle-2.2.5 webサーバーに負荷をかけて、レスポンス等の性能を見ることができる。 結果はhtmlファイルで出力されるため、ブラウザで確認する。 gatling 公式 使う javaが入っていないと動かないのでjavaも入れておく。 gatlingはダウンロードしてきてzipを解凍すればOK。 linux用のshellとwindows用のbatファイルが用意されている。適当な場所に配
概要のドキュメント: https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-metrics-table.html 各カラムの情報: https://dev.mysql.com/doc/refman/5.7/en/innodb-metrics-table.html 利用方法 メトリクスを有効化,無効化,リセットするには以下のコマンドを実行します。 これらはカウンターごと, モジュール(subsystem)ごと, 文字列パターン, もしくは全選択のいずれかの方法でカウンターを指定して設定できます。 SET GLOBAL innodb_monitor_enable = [counter-name|module_name|pattern|all]; SET GLOBAL innodb_monitor_disable =
はじめに AWSでは負荷テストを実施する際に事前申請は不要でしたが、 意図した負荷であってもトラフィック量によってはDoS/DDosとして検知されネットワークが遮断されることがありました。 そこでネットワーク遮断の回避の方法や負荷テストの可否について、 AWSへ確認しましたところ現在は負荷テストを行う際は実施前に承認を受ける必要があることがわかりました。 英文 (AWSより) All AWS users are required to receive approval before any load testing. Please send detailed plans of the testing including expected peak bandwidth to the simulated events email address listed on the AWS Penetr
インフラエンジニアの多分、華形のお仕事の1つであるミドルウェアの性能検証を久々にガッツリやる機会がありましたので、検証作業の基本的な項目について初心から振り返っておきたいと思います。読みやすさ度外視の詰め込み記事注意警報です。 世の中、雑な検証結果もちょいちょい散乱していて、私自身もそうならないよう注意を払っているわけですが、ガチでやると気をつける項目が多くて、自分で忘れたりしないようにと、誰かにやってもらいたい時に基本を抑えてから取り掛かってもらうために、形にして残しておこうと思った次第であります。 目次 なぜ性能検証をするのか 環境の準備 インスタンスの用意 クライアントの用意 サーバーの用意 ボトルネックになりうる項目 CPU Utilization Memory Network Bandwidth Disk Bandwidth Disk IOPS Disk Latency Disk
siegeはabより高機能で、JMeterほど面倒くさくないWEBのパフォーマンス測定ツールです。 siegeとは、包囲攻撃という意味の単語で、「シィージ」と発音するみたいです。 アクセス先を複数のURLからランダムで抽出する インターネットモードがなかなか便利です。 以下CentOSやAmazonLinuxへsiegeの最新版をインストールする手順です。 インストール yum install gcc wget http://download.joedog.org/siege/siege-latest.tar.gz tar xvf siege-latest.tar.gz cd siege-3.1.0/ ./configure make make install siege -V ---------------- SIEGE 3.1.0 Copyright (C) 2015 by Jeffr
WebサーバーやWebサービスの公開前には、そのサーバーがどの程度のアクセスにまで耐えられるかを事前に調査しておくことが好ましい。本記事では、こういった調査の際によく使われる「Apache Bench」および「Siege」というツールの使い方を紹介する。 サービスの公開前に行っておくべき負荷テスト 昨今では低価格サーバーでも高性能化が進んでおり、静的なページを表示するだけのWebサーバーや比較的負荷の少ない処理を行うようなWebアプリケーションでは、1台のサーバーのみでそれなりの規模のアクセスに耐えられるようになっている。とはいえ、CPUの性能やメモリ容量、ストレージの種類などによってアプリケーションのピーク性能は変動するため、単純にハードウェアの性能や使用するソフトウェアといった情報だけでどの程度までのアクセスを捌けるのかを判断することは難しい。実際、負荷をかけてみたら「想定していたレベ
今回はWebサーバーに対するある特定のパターンでのアクセスによって発生する負荷を調べたい、といった場合に有用な「Apache Jmeter」と、クライアントでのJavaScriptの実行時間までも含めたWebページのロード時間を測定できる「wbench」を紹介する。 グラフィカルにテストシーケンスを作成できる「Apache Jmeter」 記事前編ではWebサーバーの負荷テストを行える「Apache Bench」や「Siege」といったツールを紹介した。Apache Benchは手軽さが、またSiegeでは複数のURLを対象にテストを実行できる点が特徴だが、これ以外にもWebサーバーのテストに活用できるツールはいくつか存在する。今回紹介する「Apache Jmeter」もその1つだ(図1)。 図1 Apache Jmeterのメインウィンドウ Apache Jmeter(以下、Jmeter
みんな大好きElastic Load Balancing(以下ELB)は利用にあたっては細かい仕様に注意する必要があります。 2014年ELBにお世話になった人もそうでない人も2015年はもっとELBを活用するために、改めてELBの仕様や活用方法を振り返ってみましょう。 ※本稿の内容の多くは一度でもELBを使ったことがある方を想定しています。 ELBが得意なところ ELBはコスト効果良く高い可用性と拡張性をもつロードバランサーをサービスとして提供してくれるので、最初に利用するロードバランサーとしても、長く使うロードバランサーとしても優秀です。 ELBを活用するためのドキュメントがAWSから公開されています。未読の方は必ず目を通しておきましょう。 Best Practices in Evaluating Elastic Load Balancing ELBが苦手なところ ELBを利用する上で
大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く