タグ

関連タグで絞り込む (182)

タグの絞り込みを解除

performanceに関するyogasaのブックマーク (265)

  • PostgreSQL チューニングよもやま話 - エムスリーテックブログ

    【Unit4 ブログリレー3日目】 こんにちは,エムスリーエンジニアリンググループの榎田です.数学テレビゲームが好きです. 今回は,Unit4 で運用している "Docpedia" というサービスで実施した SQL チューニングの実例を2つご紹介します.普段の私が意識していなかった, RDBMS の内部機構に関する話が登場して面白かったので,今回の記事を書きました. なお,稿で扱う議論はすべて PostgreSQL 11.x 以上を対象としており,特にその他の RDBMS で同様の動作をするかは確認していません.定性的な挙動に共通するものはあるかもしれませんが,ここで述べた話はそのままは通らないであろうことをお断りさせてください*1. プロダクトについて index なしで意外と耐えたが,耐えきれなかった話 実際の SQL とテーブル定義 原因の分析 対応策 SELECT DISTIN

    PostgreSQL チューニングよもやま話 - エムスリーテックブログ
  • Misskeyのパフォーマンス改善の取り組み・2023年7月 | gihyo.jp

    連載は分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っています。 ここ最近でMisskeyのユーザー数がさらに急激に増えています。そのため、運営者がより少ないコストでサーバーを維持できるよう、Misskeyのスケーラビリティ改善を急いでいます。 今回は、そういった最近のMisskeyのパフォーマンス改善の取り組みについて、検討中のものも含めて紹介したいと思います。 misskey.ioの登録ユーザー数の推移 Identicon生成の無効化オプション Identiconはユーザーが自身のアイコンを設定していないときに代わりに表示されるアイコンで、これはユーザーごとに異なるようになっています。 仕組みとしては、https://misskey.example.com/identicon/hogeにリクエストされた際に、hoge部分をシー

    Misskeyのパフォーマンス改善の取り組み・2023年7月 | gihyo.jp
  • パフォーマンスチューニング9つの技 ~「書き」について~|PostgreSQLインサイド

    今回の記事は、パフォーマンスチューニングの観点と仕組みを理解することに主眼を置いています。具体的な対処方法についてはシステムによって異なるため、マニュアルの確認や、各種チューニングサービスのご利用をご検討ください。なお、この記事で対象にしているPostgreSQLのバージョンは9.5以降です。 記事の構成 記事「パフォーマンスチューニング9つの技」は以下4つの記事から構成されています。他の記事も併せてご覧ください。 パフォーマンスチューニング9つの技 ~はじめに~ パフォーマンスチューニング9つの技 ~「書き」について~(記事) パフォーマンスチューニング9つの技 ~「探し」について~ パフォーマンスチューニング9つの技 ~「基盤」について~ 1. パフォーマンスチューニングの「書き」とは 一般的にデータベースは、大量データを扱い、大量の問い合わせや更新を高速に処理し、さらに障害発生

    パフォーマンスチューニング9つの技 ~「書き」について~|PostgreSQLインサイド
  • SQLを速くするぞ―お手軽パフォーマンス・チューニング

    このサイトでは、SQL を高速化するためのちょっとしたパフォーマンス・チューニングの技術を紹介します。と言っても、『プログラマのためのSQL 第2版』の受け売りがほとんどなので、このを読んでいただければ、稿を読む必要はありません。 最初に、パフォーマンス・チューニングに関する全体の方針を述べておくと、それはボトルネック(一番遅いところ)を改善することです。当たり前ですが、既に十分速い処理をもっと速くしたところで、システム全体のパフォーマンスには影響しません。従って「処理が遅い」と感じたら、最初にすることは、SQL やアプリの改修ではなく、「どこが遅いのか」を調査することです。いきなりあてずっぽうで改善をはじめても効果は出ません。医者が患者を診るとき最初にすることが検査であるのと同じです。病因が何であるかを突き止めてからでないと、正しい処方はできないのです。 その基を承知していただいた

  • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

    あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

    あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
  • 66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog

    はじめに この記事では、モノタロウの基幹系を構成するシステムの一つである、商品情報管理システム(PIM:Product Information Management システム)の導入プロジェクトで、商品情報を基幹系と同期するシステム(商品情報同期機能)の性能や運用環境の改善を行った話をご紹介します。 背景 モノタロウの基幹系は、長年内製のシステムで支えられてきました。基幹系のシステムは、少数のWebアプリケーションと多数のバッチから構成されています。中でも商品情報の管理に関するシステムは、在庫や仕入先に関するシステムと一体化していて、商品情報に関する数多くのマスタメンテナンス画面を備えたやや複雑なシステムです(図1)。 図1 基幹系の概略図 当社のシステムは、もともと自分たちのビジネスに必要な機能を提供する手頃なパッケージ製品がなかったため、すべてを内製でまかなってきたという経緯があります

    66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog
  • シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。 内容は章立てで構成しており、序章で事前調査をし、第一章で一般的なリファクタリング、第二章でパフォーマンスを重視したリファクタリング、終章で少し余談をして締めくく

    シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita
  • RDSで接続数とメモリ消費量の調整事例 | 外道父の匠

    RDS Auroraを使っているところで、OSの空きメモリが少なくなったアラートが出たので、それについて細かく考察したら、それなりの量になったのでまとめた感じです。 別にAuroraじゃなくRDS MySQLでも、MySQL Serverでも同じ話なのですが、クラウドならではの側面もあるなということでタイトルはRDSにしております。 RDSのメトリクス監視 RDSはブラックボックスとはいえ、必要なメトリクスはだいたい揃っているので、CloudWatch を見たり……APIで取得してどっかに送りつけたりして利用します。 なので、まずは接続数とメモリについて復習です。 SHOW STATUS 的には Threads_connected です。 CloudWatch Metrics 的には、DBInstanceIdentifier → DatabaseConnections です。 見た感じ、ど

    RDSで接続数とメモリ消費量の調整事例 | 外道父の匠
  • Webアプリ負荷試験ガイド - withgod's blog

    Webアプリ負荷試験ガイド 目次 Webアプリ負荷試験ガイド 目次 前置き 時間がない人向け要約 about me 何故負荷試験を行うのか 負荷試験ツール 負荷掛けるツール 負荷計測 負荷の可視化 負荷試験の流れ 負荷試験スケジュールについて 注目すべきポイント シナリオ作成 アカウント情報は自動生成出来るようにする DB分割を行ってる場合はDB分割を意識したシナリオを用意する。 負荷試験元 http or https サーバ1台 サーバ単体での負荷 アプリの正常性の確認 サーバ複数台 KVS Memcached Redis RDB 問題になりやすいDB キャッシュの話 大前提 注意すべき点 CDNやProxyレベル local cache or remote cache local cache or memory cache(in app cache) references 更新情報 前

    Webアプリ負荷試験ガイド - withgod's blog
  • AWSの負荷テストソリューションを試してみた | DevelopersIO

    シナリオを用いた負荷テストツールとして JMeter や Gatling などがございますが、AWS でも負荷テストのソリューションが用意されております。 こちらのソリューションは、Fargate で 1 秒あたり選択した数のトランザクションを生成する数千規模の接続ユーザーを簡単にシミュレートできます。 エントリでは、AWS負荷テストソリューションを使った負荷テストを紹介します。 構成要素 公式の構成図を拝借しています。 フロントエンドでは、バックエンドの負荷テストエンジンを実行する API と、テストシナリオの作成やモニタリングに使用するウェブコンソールが提供されています。 なお、使用するテストシナリオには JMeter のシナリオを指定できるため、既に JMeter を使っている場合は簡単に大規模な負荷テストを行うこともできます。 バックエンドでは、負荷を生成するための Dock

    AWSの負荷テストソリューションを試してみた | DevelopersIO
  • あと2時間でElastiCacheのメモリが枯渇!そのときあなたは何をしますか?

    突然ですが... あなたは、あるゲームプロジェクト番リリース2日前にサーバエンジニアとしてJOINしました。いざリリースを迎えたとき、ElastiCacheのメモリが突然危険域を超え、さらにあと2時間で枯渇しそうな状況になりました。 さて、この状況におかれたあなたは何をしますか? はじめに モバイルゲームのシステムは新しいイベントをopenするとトラフィックが2倍、3倍、時には普段の10倍以上来ることがあり、トラフィックの変動が非常に大きい特性があります。 新しいゲームのリリース時はより顕著で、想定以上のトラフィックが来ることもしばしばあります。 この記事は、あるゲームプロジェクト番リリース時に大規模トラフィックが来た際のサーバトラブルを題材に、 どのような観点で問題を切り分けていったのか、トラブルシュートのプロセス どのような準備(負荷テスト)をしていれば防げるのか という話をし

    あと2時間でElastiCacheのメモリが枯渇!そのときあなたは何をしますか?
  • Webアプリケーションが今こそ知るべき、 RDBMSのパフォーマンスチューニングの勘所 / Basic-of-RDB

    Laravel JP Conference 2019の登壇資料です https://conference2019.laravel.jp/ ■資料内リンク - https://www.amazon.co.jp/exec/obidos/ASIN/4297104083/maple036-22/ -…

    Webアプリケーションが今こそ知るべき、 RDBMSのパフォーマンスチューニングの勘所 / Basic-of-RDB
  • あなたのネットワークスタック正しく設定されていますか? - Qiita

    はじめに Linux Advent Calendar 10 日目の記事です。 運用や研究開発の現場では、ソフトウェアの実験、または機器のテストや選定などのために、ベンチマークツールや自前のアプリケーションでコンピュータ間の通信速度を計測する機会が多々あると思います。一方で10Gbpsや40Gbpsといった昨今の高速ネットワークにおいては、これらの計測結果はアプリケーションの通信API部分の実装、カーネルパラメータまたはコンパイルオプションによって大きく変わってしまうため、正確な計測を行うためにはこれらを正しく設定/理解する必要があります。この記事では、ネットワーク周りのカーネルとアプリケーションの動作の概要と、その中の重要なポイントを理解することを目的にします。 ネットワークプログラミングのおさらい まず最初に、TCPを使う今時のサーバプログラムがどのようにできているか簡単におさらいします

    あなたのネットワークスタック正しく設定されていますか? - Qiita
  • Webフロントエンド パフォーマンス改善ハンドブックを公開しました - dwango on GitHub

    パフォーマンス改善ハンドブック ウェブページにおけるパフォーマンスに関する問題の見つけ方や考え方の事例をまとめた Webフロントエンド パフォーマンス改善ハンドブックを公開しました。 URL: https://dwango-js.github.io/performance-handbook/ このハンドブックでは過去に行ったWebフロントエンドのパフォーマンス改善の事例を中心に紹介しています。 注意点としてWebフロントエンドは常に変化しているため、現在の最適な解決方法を提案するものではありません。 また、アプリケーションによっても最適な解決方法は異なります。 今回の事例ではViewライブラリにReactを用い、映像再生プレイヤーなどある程度複雑な機能を持ったウェブアプリケーションのWebフロントエンドを扱います。 具体的にはニコニコ生放送(以下「生放送」)で行った事例を中心に書かれていま

    Webフロントエンド パフォーマンス改善ハンドブックを公開しました - dwango on GitHub
  • スワップの弁護:よくある誤解を解く

    (This post is also available in English.) この記事は In defence of swap: common misconceptions を 著者の Chris Down さんの許可 を得て Hiroaki Nakamura が日語に翻訳したものです。 原文のライセンス は CC BY-SA 4.0 であり、翻訳のライセンスも同じく CC BY 4.0 とします。 長文を読みたくない方への要約: スワップを持つことは正しく機能するシステムのかなり重要なポイントです。 スワップが無ければ、まともなメモリ管理を実現することは難しくなります。 スワップは一般的に緊急事態用のメモリを取得するためのものではなく、メモリの回収を平等に効率的に行うためのものです。 実のところ「緊急事態用のメモリ」は一般的に盛大に悪影響を及ぼします。 スワップを無効にすることは

    スワップの弁護:よくある誤解を解く
  • MySQLでのSlowLogの分析方法 - Qiita

    概要 サービス開発/運用中に性能問題が発生した際に、DBのSlowLogを見るのは非常に有効なアプローチです。 SlowLogの出し方はRDBMS毎にやり方がありますが、特にMySQLでは単純に遅いQueryを出力するだけでなく、データが取得しやすいようにSlowLogをサマるためのツールが付属しています。 今回はそのツールmysqldumpslowの使い方を紹介します。 SlowLogから分かること SlowLogが出ていない場合、性能問題の原因がDBではない事。 SlowLogが出ている場合、どのQueryが性能問題を引き起こしているのか。 出力されるQueryの閾値をゼロとして全Queryを出力させると、Query毎の登場頻度も確認可能。 mysqldumpslowの使い方 準備 この手順では以下の物が必要となります。 分析対象のSlowLog リードレプリカを作ってる場合、複数のD

    MySQLでのSlowLogの分析方法 - Qiita
  • MySQLパフォーマンスチューニングTIPS

    2019年7月10日に開催された「WEBエンジニア MeetUp@札幌 #6 MySQL Special」での発表資料です。 発表時の資料に少し説明を加筆・修正してから公開しています。 ※追加で以下の更新をしました。(2019年7月19日) - MTSを効率化するための設定に関して、WRITE…

    MySQLパフォーマンスチューニングTIPS
  • ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita

    この記事の目的 自分は、とある会社様の元でソシャゲAPI 開発をさせていただいています。 ソシャゲは、リリース時やイベント時などに集中アクセスされやすく、負荷軽減の知識がない状態で開発を行ってしまうと、運用時に緊急メンテ祭りになりやすいジャンルかなと思っています。 これまで培ってきた MySQL の知識ですが、脳内メモリ量の関係上、暗記できないのでメモしておこうというのが主目的です。 ここ数年ほどソシャゲ開発しかしていないため、偏っている感がある内容ですのでご注意ください。 概要 ストレージエンジンは InnoDB。メインで扱っている MySQL バージョンは 5.6。 記事の内容ですが、これらのキーワードを見て、おおよそ分かる方は読む必要はないかと思います。 インデックス系 クラスタインデックス カバリングインデックス EXPLAIN で注意するべき値 トランザクション系 MVCC

    ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita
  • MySQLのコネクションハンドリングとスケーリング | Yakst

    MySQLのコネクションハンドリングの内部構造、スケール限界、そして最大コネクション数のチューニングなどについてご紹介します 免責事項 この記事はGeir Hoydalsvik氏によるMySQL Server Blogの投稿「MySQL Connection Handling and Scaling」(2019/3/19)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 この投稿では、MySQLのコネクション、ユーザースレッドおよびスケーリングについて取り扱います。MySQLがどのように動作するかをよりよく理解することで、アプリケーション開発者やシステム管理者が、トレードオフを踏まえた良い選択をできることでしょう。記事ではコミュニティー版でコネクションがどのように動作するかについて述べますが、一方でスレッドプール、リソースグループ、あるいはコネクション多重化といった関

  • AWS で 100Gbps の帯域を使える c5n インスタンスがリリースされたので、100 Gbps d出せるか試してみた結果……… | Skyarch Broadcasting

    昨日しれっと NW JAWS のパブリックビューイングを見ていたら、なんと新しいインスタンスタイプで 100 Gbps の通信速度をサポートするとのこと。 対応しているインスタンスタイプ c5n で最大サイズの 18xlarge が 100 Gbps の帯域割り当てがあります。お時間当たり $4 ちょいなので、100 G NIC を買うことを考えるとはるかにお手軽に試すことができます。 で早速確認してみたらすでに使えるようになっていたので、100 Gbps にチャレンジしてみました。 <span></span>$ iperf3 -c <span class="m">172</span>.16.2.xxxx ..... <span class="o">[</span> ID<span class="o">]</span> Interval Transfer Bandwidth Retr <s

    AWS で 100Gbps の帯域を使える c5n インスタンスがリリースされたので、100 Gbps d出せるか試してみた結果……… | Skyarch Broadcasting