タグ

performanceに関するyukungのブックマーク (74)

  • AWSの負荷テストについて | Developers.IO

    はじめに 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

    AWSの負荷テストについて | Developers.IO
  • CPU使用率は間違っている | Yakst

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

    CPU使用率は間違っている | Yakst
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • Programming.log, [MySQL][EXPLAIN] typeフィールドの見方

    2014-09-09 [MySQL][EXPLAIN] typeフィールドの見方 mysql explain クエリの実行速度が速いものから順に紹介していく。 constテーブルで一致するレコードが1つで、クエリ開始時によみこまれるとconstになる。 テーブルを一度しか読み取らないので、typeフィールドに表示される値のなかで 最も速い。 PRIMARY KEYやUNIQUE INDEXが使用された場合に表示される。 eq_refJOIN や =演算子 でテーブルを結合した場合に、constと同じ条件(PRIMARY KEYかUNIQUE INDEXが使用される)の場合に表示される。 refテーブル結合で、インデックスの左端の先頭部分のみが結合で使用された場合、 または PRIMARY や UNIQUE ではないインデックスが使用された場合に表示される。 = または <=> 演算子で比較

    Programming.log, [MySQL][EXPLAIN] typeフィールドの見方
  • Optimizing JavaというJavaパフォーマンス系の書籍が面白そう - 谷本 心 in せろ部屋

    急激な冷え込みのせいで「寒い!」というつぶやきがTLに散見されるこの頃ですが、皆さんお風邪など召していらっしゃらないでしょうか。 否応なしに寒いという言葉に反応してしまう、けなげなエンジニアの [twitter:@cero_t] です。 このエントリーは Java Advent Calendar 2016 の8日目です。 昨日は [twitter:@haruo31] さんの「Java Stream APIでハマったこと」で、 明日は [twitter:@deaf_tadashi] さんの「マイクロベンチマークツール、JMHについて」でした。 今日のエントリーでは、Javaのパフォーマンス系書籍を紹介したいと思います。 Optimizing Java - O’Reilly Media URLを見るにつけ、あのオライリー様のサイトですら拡張子が由緒正しい .do なのですから、日SIer

    Optimizing JavaというJavaパフォーマンス系の書籍が面白そう - 谷本 心 in せろ部屋
  • Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して

    今回も前回の記事につづき、Java8による変更点で未だあまり紹介されていないポイントを記事にしようと思う。 今回はJava8のHotSpotVMの話。Java8ではJEP122が取り込まれ、VMのメモリモデルが変更された。JEP122のタイトル「Remove the Permanent Generation」から想像できるとおり、Java8のHotSpotVMからは従来のPermanent領域が無くなった。 なぜ、こういった変更が行われたのだろうか?また、元々Permanent領域に格納されていた情報は何処にいってしまったのか?JVM付属のツールにどういった影響があるのか? 今回の記事ではこの点をまとめていこうと思う。 なお、HotSpotVMのメモリモデルについて詳しくない方は、先にこちらの項番(「補足 – HotSpotVMのメモリ構造概説)を読んでいただくとスムーズに読み進められるだ

    Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して
  • Java 8でPermGenのOutOfMemoryError問題は解決されるのか?

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    Java 8でPermGenのOutOfMemoryError問題は解決されるのか?
  • イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 | POSTD

    この投稿は、私が去年OSCONで行ったプレゼンテーションを基に作成しています。プレゼンよりは簡潔に編集し直し、プレゼン後にいただいたいくつかのフィードバックに応える形で記事を書いています。 Go言語に関してよく言われるのは、Go言語はサーバでうまく機能し、静的なバイナリや強力な並行処理、高いパフォーマンスを見せくれるということです。 この投稿では、その後半の2つの項目に関して焦点を当てます。プログラマとってGo言語とそのランタイムは、スケーラブルなネットワークサーバをスレッド管理やブロッキングI/Oを気にせずに書くのにどんなに有効かを説明していきます。 効率的なプログラミング言語に関しての議論 技術的な話に入る前に、Go言語をターゲットにしたマーケットを説明する2つの議論に関してお話したいと思います。 ムーアの法則 画像は以下より引用; 2005年5月にHerb Sutter氏が書いたDr

    イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 | POSTD
  • 大規模な負荷でもドキドキしない為のJava EE

    JJUG CCC 2015 Spring セッション資料 企業システムを始めとしたエンタープライズ向けと位置づけられるJava EEですが、質は大規模で信頼性の高いサーバーアプリケーションを開発するためのプラットフォームです。 いわゆるSNSやソーシャルゲームなどコンシューマー向けのサービスのアーキテクチャも大規模化・複雑化している中、Java EEが提供する機能は非常に魅力的です。 このセッションではコンシューマー向けのサービスなどで培われた JPAを用いた開発におけるデータベースのスケールアウト戦略 JUnitとJMeterクラスタで行うゲームサーバーの大規模負荷テストの自動化 など実践的なJava EE開発のケーススタディをご紹介します。

    大規模な負荷でもドキドキしない為のJava EE
  • Oracleのビットマップインデックスを学ぶ - kagamihogeの日記

    @kagamihoge ppは基的にOracleサイトから落とせますよ( ^ω^) 商用利用せずに個人で実験するレベルであれば、製品版と同じ物を使用できますよ☆ xeは機能制限が多くて、、、— かーりん (@curry9999) August 5, 2014 OTN開発者ライセンス付きのソフトウエアは、評価・学習・テスト・アプリケーション開発に利用できます。 http://www.oracle.com/technetwork/jp/indexes/downloads/index.html より抜粋 というわけで、Database 11g Enterprise Editionsも個人の日記レベルの学習用途であれば問題無く使用可能なことを教えて頂いた。OracleではビットマップインデックスはExpress Editionでは使用出来なかったので学習対象から外していたのだが、個人で自由に試せ

    Oracleのビットマップインデックスを学ぶ - kagamihogeの日記
  • naoyaのはてなダイアリー - MyISAM vs InnoDB

    あくまで憶測で仮説でしかないんですが。 MySQL のストレージエンジンのうち代表的な二つ、MyISAM と InnoDB はよく MyISAM: Read は速いけどテーブルロックのため並行性が低い。運用が簡単。 InnoDB: MyISAM より Read は遅いけど並行性が高い 。行レベルロックなので。あとトランザクションや外部キー制約。運用が MyISAM よりちょっとめんどくさい。 という区別がされます。ここから転じて、 MyISAM は参照系クエリが大部分を占める場合に適用すると良い。例えば blog アプリケーションとか。 InnoDB は更新系クエリが多い場合に適用すると良い。 と言わたりします。実践ハイパフォーマンスMySQL でも第2章 ストレージエンジン(テーブル型) P.30 に アプリケーションでトランザクションを使用する必要がなく、主に SELECT または I

    naoyaのはてなダイアリー - MyISAM vs InnoDB
  • 社内勉強会でMySQLの運用について喋ってきた | Ore no homepage

    すでにMySQLの運用テクニックは多くのTipsが出回っているので、考え方を中心に喋ってきた。主に、負荷が高い、レプリが遅延する、などについて。 資料 文字多めの資料になっている。オンプレでの運用が多いので、物理レイヤーの話も少しある。自己紹介だけ中途半端に英語。「資料を英語で書こうと思ったけど諦めたので、この後は全部日語です」で、とりあえず一笑い取れた(失笑)。 こんな話をした↓ 負荷対策 SQLのチューニングはちゃんとしましょう。 ハードウェアリソースの負荷の箇所によって適切な対応をしましょう。 MySQLの設定は勘所を抑えて適切にしましょう。ただし、単なる数字いじりには意味はない。 ファイルシステムやそのオプションは、高トラフィック時に差が見えてくるので、留意はしておきましょう。 レプリケーションの遅延 資料の通りだよ。 MySQLは非同期(準同期)レプリケーションなので遅延は避け

    yukung
    yukung 2014/09/10
    ありがたやありがたや
  • http://blog.udcp.net/2013/10/07/gatling-stress-tool/

  • WEBサイト負荷テストツール7選 | さぶみっと!JAPAN

    WEBサイトに情報を入力するだけで負荷テストができるLoad Impact、GUIから操作できるApache JMeterや、コマンドラインから使うcurl-loader・httperf・Siege・Pylot・abを簡単な使い方と共に紹介していきます。 Load Impact http://loadimpact.com/ Load ImpactはスゥエーデンのGatorhole AB社が管理している、フォームに必要な情報を入力するだけで負荷テストをしてくれるWEBサイトです。 ツールをインストールしたりする必要が有りませんので、非常に楽です。 毎月5回まで無料で負荷テストができます。 それ以上は10回/$30のクレジットを購入する事になります。 トップページのフォームにURLを入れて「Run free test」をクリックすると、世界各地のいずれかのAmazon EC2サーバから負荷テス

    WEBサイト負荷テストツール7選 | さぶみっと!JAPAN
  • Apache Benchを使った負荷テストのやり方 | Web活メモ帳

    2016/07/11 追記しています 皆さん負荷テストツールって普段使ってますか? WEBシステムを開発する際には、1人〜十数人で開発をすると思いますが、 受諾案件では要件を満たす開発ばかりしていて速度やパフォーマンスのチューニングを行う事が少ないと思います。 いざ運用が始まって、サーバーが落ちた・・とならないように負荷テストを事前にやっておきましょう。 Apache Benchでのサーバーパフォーマンスのチェック方法をメモしておきますので、どなたかの役に立てれば幸いです。 負荷テストとは 負荷テストって何ですか?という方のために簡単に説明をすると 低い負荷ではシステム上問題が無くても、高負荷での動作だと不具合を起こす現象を回避するためのテストです。 アクセスが集中して落ちてるサイトがありますよね。。 想定されるアクセスがあっても落ちないサイトにするための負荷テストです。 Webサーバーの

    Apache Benchを使った負荷テストのやり方 | Web活メモ帳
  • 1台だけ読み書きすると2.2倍に

    読み込みの場合、ONEではコピーを持つ全ノードに一斉に読み出し要求を出し、最初に返ってきたデータをアプリケーションに渡す。QUORUMは過半数のノードから返答が来た時点で、最も新しいタイムスタンプを持つデータを渡す。ALLは全ノードの返答から最新データを選ぶ。 制御方式の組み合わせで性能高まる 検証の結果、最も性能が高かったのがONEで、最低のALLと比較した結果が2.2倍だった。データの一貫性の高さよりも、性能向上を優先する場合は、ONEを選ぶのが有効だ。 ただし実際に性能向上を重視し、読み出しと書き込みの両方でONEを選ぶと、アプリケーションは想定した動作をしない恐れがある。検証用アプリケーションで、ショッピングサイトの商品閲覧履歴をONEで書き込むと、まず1台のサーバーにデータが書き込まれ、コピーが残りの2台に書き込まれるのはその後になる。ONEを使った読み出し要求が書き込みの直後に

    1台だけ読み書きすると2.2倍に
  • リニアには性能が上がらない

    Cassandraのスループットの変化を調べた結果を図2に示した。Cassandraのノード(サーバー)数が2、4、6台のそれぞれにおいて、実行する検証用アプリケーションのスレッド数を徐々に増やした。各スレッドで、書き込み、または読み出しを繰り返し実行し、スレッド数を増やしていくことで、Cassandraの負荷を高めていった。 Cassandraに対する負荷を高めていくと、スループットは曲線を描いて向上していくことが分かった。負荷の増加に対して、十分に性能が向上しなくなったポイントを探し、2、4、6ノードの場合を比較した。検証用の機器は、プリファードインフラストラクチャーから貸与を受けた まず分かったのは、アクセス負荷を高めたとき、Cassandraのスループットは曲線を描いて、向上していくことだ。RDBなど多くのデータベースは負荷を高めていくと、スループットはほぼリニアに伸び、あるしきい

    リニアには性能が上がらない
  • ノード数3倍で性能が2.3倍に

    KVS(Key-Value Store)は、既存のRDBと比べてシンプルな機能しかない代わりに、データを分割して多数のサーバーで分散処理できるスケーラビリティーの高さが特徴である。その代表例として、米Facebookが開発し、オープンソースソフトウエアとして公開されている「Cassandra」がある。 KVSは従来にはなかった膨大なアクセスをさばくため、大手のWebサービス事業者などが続々と開発している。米Googleの「Bigtable」と米Amazon.comの「Dynamo」がその先駆であり、Cassandraは両者の設計思想を受け継いだものだ。 Facebookは同社のSNS(Social Networking Service)において、ユーザー間で交換するメッセージの保存や検索などを行うデータベースとしてCassandraを開発し、最大150台程度のサーバーで運用した実績がある。

    ノード数3倍で性能が2.3倍に
  • http://jxcore.com/nodejx-vs-vert-x-vs-node-js-cluster/

    http://jxcore.com/nodejx-vs-vert-x-vs-node-js-cluster/
  • High performance networking on the JVM

    Red Hat (JBoss) - EAP Core Team Former contractor for Apple Inc Author - Netty in Action Apache Software Foundation Member Netty  / Vert.x Core-Developer and all things NIO Java and Scala Twitter: @normanmaurer Github: https://github.com/normanmaurer As always, only optimize if you really need! 1000 concurrent connections != high-scale If you only need to handle a few hundred connections use Block