タグ

performanceに関するmichael-unltdのブックマーク (97)

  • BigQuery スロット需給バランスの改善 〜クエリのパフォーマンス改善の事例から〜|Mercari Analytics Blog

    メルカリ Analytics Infra チームの na0 です。この記事では、メルカリにおける BigQuery クエリの改善によるスロット需給バランスの改善について紹介します。 2023-03-30 には、新料金体系 BigQuery Editions も発表されています。こちらには、読み取りデータ量課金(オンデマンド モデル)の値上げも含まれており、スロット量課金(BigQuery Editions)との損益分岐点の変化から、クエリのパフォーマンスについて意識する組織は増えていくことでしょう。 今回紹介するクエリの改善は、データ利用者が意識することで、メリットとなる施策です。この記事をきっかけに、BigQuery 利用者がパフォーマンスを意識してクエリを書くことや、必要に応じて詳しい人に相談できるようになることを期待しています。 「クエリが遅い!」問題メルカリ社内の BigQuery

    BigQuery スロット需給バランスの改善 〜クエリのパフォーマンス改善の事例から〜|Mercari Analytics Blog
  • 毎秒1万リクエストの負荷試験をした話 - pixiv inside

    はじめまして。ピクシブで広告関連のプロダクトを開発しているeastです。今回は、社内で運用している広告配信サーバーの負荷テストを実施したので、その話をしたいと思います。 経緯 ピクシブの広告配信サーバーは、pixiv体を中心に複数のサービスに対して広告配信を行なっています。現在私はこの広告配信サーバーの大規模改修を行なっているのですが、先日ついに広告配信サーバーの改修がほぼ完了したので、試しに負荷試験を行なってみたいと思い立ちました。 目標は毎秒1万リクエスト ピクシブの広告配信サーバーへのリクエスト数はDailyで 4〜6億req もあり、これは毎秒平均に直すと約 5,000RPS(Request Per Second) になります。さらに、ピークタイムである休日の深夜帯には 12,000RPS にも達します。つまり新しい広告配信サーバーにも、毎秒12,000のリクエストを捌く性能が必

    毎秒1万リクエストの負荷試験をした話 - pixiv inside
    michael-unltd
    michael-unltd 2023/08/04
    “負荷テストに使ったクラスタの料金を簡単に計算してみました。 n1-standard-2を15台使って、負荷試験を1時間行う場合”
  • 【連載Zabbix】Zabbix チューニング Serverプロセスの理解【Zabbix Advent Calendar 2016】 - サーバーワークスエンジニアブログ

    Zabbix Advent Calendar 2016の17日目の記事です。 カスタマーサポート課の伊藤です。 サーバーワークスZabbixスペシャリスト 九龍として今回は Zabbix Serverのチューニングポイントをお伝えします。 前回はZabbix Serverの構築手順をご紹介しました、是非皆さんもお手元のZabbixServerのプロセス負荷を確認してみてください。 ※DBチューニングについては今回は含んでいません。 下準備と前提知識 まずはデータ収集のためにZabbixServerの自己監視用ホストを登録し、 Template App Zabbix Server を適用します。 なおTemplate App Zabbix Serverに利用されているzabbixアイテムキーはServerプロセスから直接、値を収集します。このため、Proxyの負荷状況を取得したい場合は、Se

    【連載Zabbix】Zabbix チューニング Serverプロセスの理解【Zabbix Advent Calendar 2016】 - サーバーワークスエンジニアブログ
    michael-unltd
    michael-unltd 2022/05/11
    “escalator processesの数はStartEscalators=の値により設定します。パッケージの初期値は1です。”
  • docker コンテナ(docker-compose)で稼働している Mastodon を Mackerel で監視してみる - えいのうにっき

    前回の記事で、リバースプロキシ構成の Mastodon インスタンスを全てコンテナで構築した。 今回は、この Mastodon インスタンスの監視(メトリックの取得)を Mackerel を使ってやってみる。Mastodon インスタンスの監視に Mackerel を使ってみている、という人もいると思うのだけど、ここで書いている内容は Mackerel の無料プランである Free プランでも利用できるので、ぜひ試してみてほしい。 念のため断っておくと、ぼくは一応 Mackerel のセールスエンジニア、つまり「中の人」であるが、技術的には中立(?)的に書いているつもり。また、docker(コンテナ)についてはかなりの初心者なので、よくないところがあったら教えて ( ゚Д゚) ホスィ... まずは下準備 1. Mackerel API キーの生成【Mackerel 画面での作業】 別にデフ

    docker コンテナ(docker-compose)で稼働している Mastodon を Mackerel で監視してみる - えいのうにっき
  • 第2章 PostgreSQLの内部構造―プロセスやメモリの流れ、特徴的な機能のしくみ | gihyo.jp

    図1 主なプロセスの流れ PostgreSQLは、ライタがデータファイルやインデックスファイルをディスクに更新しています。ただし、その更新は、コミットに合わせてリアルタイムで行われているわけではありません。性能向上のため、チェックポイントと呼ばれる更新タイミングが発生するまでは、更新があっても共有バッファにデータを貯めておきます。この貯められたデータをダーティページと呼びます。そしてチェックポイントのタイミングで、チェックポインタがダーティページをディスクに書き込みます。 そのため、共有バッファに更新情報を貯めている間に障害が起きると、ダーティーページを失う可能性があります。それを防ぐために、共有バッファ中のデータに対してどのような更新を行ったかの情報を保存しているのがWALです。WALはコミットのタイミングでWALライタが記録しています。クラッシュリカバリが必要になったときは、WALの中

    第2章 PostgreSQLの内部構造―プロセスやメモリの流れ、特徴的な機能のしくみ | gihyo.jp
    michael-unltd
    michael-unltd 2020/06/04
    “図2 メモリの利用からデータファイルの更新までの流れ”
  • チューニング ~データベースチューニング~|PostgreSQLインサイド

    データベースのチューニングとは、データベースの性能維持または向上を阻害するボトルネックを見つけ、その原因を調査し、解決していくことです。ここでは、チューニングの1つである「データベースチューニング」について解説します。 1. データベースチューニングとは データベースチューニングは、サーバーの性能を最大限に利用できるようにデータベースシステムが使用するメモリー使用量を最適化し、ディスクI/Oを減らすことを目的としています。システム構成や運用内容に応じて、セットアップ時の初期設定の段階で実施しておくことができます。 データベースチューニングの解説を始める前に、まず、データベースチューニングの前提となるメモリーとディスクI/Oについて簡単に説明した後、実際のチューニング方法を説明していきます。 1.1 メモリーとディスクI/O PostgreSQLがデータベースにアクセスする場合、まずディスク

    チューニング ~データベースチューニング~|PostgreSQLインサイド
  • PostgreSQLのログ分析ツール pgBadgerを試す | my opinion is my own

  • PostgreSQL VACUUM で年末大掃除 | TECHSCORE BLOG | TECHSCORE BLOG

    これは TECHSCORE Advent Calendar 2018 の18日目の記事です。 今回はPostgreSQLを運用する上で絶対に無視できない「VACUUM」について、その機能と役割を確認していきたいと思います。 VACUUMとは VACUUMは、テーブルの実体となるファイルの中から、不要領域を探索し、再利用可能な状態にしていくものです。VACUUMを全く実行しない場合、ファイルサイズが増え続け、パフォーマンスの低下、ディスクスペースの圧迫へとつながります。 AUTO VACUUM機能 PostgreSQLには「AUTO VACUUM」機能が搭載されており、自動で随時VACUUMが実行されるため、多くの場合問題となりません。しかし、AUTO VACUUMも万能ではありません。テーブルによって追加・更新・削除の頻度、規模は様々であるため、AUTO VACUUM機能によるVACUUM

    PostgreSQL VACUUM で年末大掃除 | TECHSCORE BLOG | TECHSCORE BLOG
  • PGTune - calculate configuration for PostgreSQL based on the maximum performance for a given hardware configuration

    PgTune - Tuning PostgreSQL config by your hardware

  • NGINX tuning for best performance

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    NGINX tuning for best performance
  • Redis Expire Performance - Maverick's tech blog

    Scala書けますで入社した筈なのにnewrelicみながらDBのチューニングばかりしてる、ぽんこつです。 今回はRedisをどうやって叩くと早くなるのかを、主にexpireまわりで適当にベンチしたりした。 私のDBの経験値がMySQLに偏っているのであまり手出ししてこなかった弊社のRedis環境だが、パフォーマンス絡みの問題を聞いたり見かけるようになってきたので、Redisのパフォーマンスを引き出す方法について調査をした。 弊社のサーバアプリケーションは主にScalaで書かれているので、ScalaからRedisに繋いだときのベンチマークが中心になる。 JMH JMHはマイクロベンチマークツールの一種。JVMはJITによって、何度も同じ箇所を実行すると、徐々にコードを最適化して早く動くようになる、等々の要素を排除し、できるだけ正しいベンチマークをすることができるツール。 ScalaでJMH

    Redis Expire Performance - Maverick's tech blog
    michael-unltd
    michael-unltd 2020/01/07
    “redis protocolをpipeで流せばいいらしい”
  • 10分で完成!WEBサイトパフォーマンス計測基盤 ver.2019 - dely Tech Blog

    はじめに 記事は dely Advent Calendar 2019 の15日目の記事です。 昨日は開発部サーバサイドエンジニアの高橋くんが「Rails6の複数データベースの仕組みと実装時にハマったところ」という記事を書きましたので是非読んでみてください。 tech.dely.jp こんにちは!dely開発部SREの井上です。 記事ではWEBサイトのパフォーマンスを定期的に計測する仕組みについて紹介をしたいと思います。 実は去年のAdvent Calendarでも同じような記事を書いたのですが、時代背景に沿って計測するツールをsitespeed.ioからLighthouseに変更したので理由も含めて紹介させてください。 基盤の構築においては下記のサービスやツールを利用しています。 AWS CodeBuild S3 Athena Terraform Lighthouse 前置きはいいから

    10分で完成!WEBサイトパフォーマンス計測基盤 ver.2019 - dely Tech Blog
  • Express / Socket.IO をスケールアウトしてみよう

    20140826.md Express / Socket.IO をスケールアウトしてみよう Seiya Konno Works at Uniba Inc. (http://uniba.jp) https://twitter.com/nulltask https://github.com/nulltask https://fb.me/nulltask スケーラビリティとは システムの規模に依らず機能を適応できること リクエストに対するスケーラビリティ アプリケーションコードに対するスケーラビリティ Express https://github.com/strongloop/express 言わずと知れたウェブアプリケーションフレームワーク 右も左もわからなかった頃 => app.js の肥大化 メンテナビリティの低下 アプリの規模が大きくなってもメンテナビリティを確保したい Mounting

    Express / Socket.IO をスケールアウトしてみよう
  • Scala 初心者が Gatling をぶっ放して負荷テストをやってみました

    最終的に Terminal で sbt を実行するため、事前にインストールしておきました。 Windows の場合は、.msi ファイルを実行するとインストールできました。 Mac の場合は、homebrew でインストールすることもできますが、 このブログを書いている段階では、バージョン 0.13.7 と古いバージョンでしたので、 Installing sbt manually を参考に、0.13.9 を手動でインストールしておきました。 Scala 開発の IDE といえば、IntelliJ IDEA ということで、無料版の Community Edition をダウンロードして、インストールしました。 ※ インストール後は、下記設定を行いました。 Configure → Plugins → Browse repositories より、Scala をインストールしました (Intel

    Scala 初心者が Gatling をぶっ放して負荷テストをやってみました
    michael-unltd
    michael-unltd 2018/04/26
    テストコード参照
  • Elasticsearchインデクシングパフォーマンスのための考慮事項 - Qiita

    マッピングタイプを使いすぎないようにする Elasticsearchでは1つのインデックスの中に複数の異なるスキーマ定義を持つことができる。このスキーマ定義をマッピングタイプという。単に「タイプ」と呼ばれる事もある。フィールドのデータタイプとは別の概念。インデックスはデータベースに、マッピングタイプはその中のテーブルに例えられる事が多いが、同じ名前のフィールドはマッピングタイプが異なっていても定義が共有されたりして、データベースのテーブルほど互いに独立していない中途半端なものになっている。(2.0より前のバージョンではタイプごとにフィールド定義が異なっていても多少使えたりしたが、2.0以降は厳密に禁止されるようになった. 参照:Conflicting field mappings) タイプが異なっていてもデータは同じLuceneインデックスの中に混ざって入ってしまうため、タイプ間で互いに影

    Elasticsearchインデクシングパフォーマンスのための考慮事項 - Qiita
  • パフォーマンス計測に困らない!tracing活用術100 - Qiita

    記事ではChrome内蔵のプロファイリングツール、tracingの活用方法を紹介する。 記事は私の個人的な意見に基づき書かれております。私の所属する組織、団体には一切の関係はありません。 はじめに Chromeは誕生以来、常に最速のブラウザを目指して開発されてきた。しかし処理速度を向上させようと頑張ると、うっかりメモリ使用量や電力消費量を犠牲にしてしまう可能性がある。特にAndroidのような携帯端末ではメモリや電池寿命の制約が強く、あらゆるデバイスで最高の使い心地のChromeを目指す上では、これらのトレードオフを実際のデータで深く理解した上で開発の意思決定をする必要がある。 このような背景から、処理速度・メモリ使用・電力消費をはじめ、あらゆるパフォーマンスデータを時系列で統合的に理解出来るように開発されたのがChrome内蔵プロファイリングツール、tracingである。 多機能が故

    パフォーマンス計測に困らない!tracing活用術100 - Qiita
  • ネットワーク転送時間・速度計算(電卓)

    ネットワークを利用したデータ転送(ファイル転送)、 ダウンロードに掛かる時間や転送速度を計算します。計算時の中間計算式も表示しますので計算方法も確認できます。 また、実際に転送に掛かった時間から転送速度や伝送効率(伝送損失)を求めることもできます。 回線の増強検討やバックアップ時間の試算などに是非ご利用ください。 ネットワーク以外のHDD、USB、SDなどの転送速度も計算できます

  • 中規模サイトのApacheチューニング - Qiita

    イマドキApacheのチューニングなんてしなくてもちゃんと動くだろうと思ってたら痛い目にあったので、書いてます。基をおろそかにするとよくないですね。 [追記] スライドも作ってみました。良かったら見てください。 http://www.slideshare.net/yumemikouda/apache-69549461 前提 Apache2.x系です preforkでの起動です 写真はイメージです WEBサーバ数台+DB2台(マスター1、レプリカ1)程度のトラフィックを前提 大規模だとまた話が変わってきます mpm関連 パラメータ説明 項番 項目 説明 補足

    中規模サイトのApacheチューニング - Qiita
  • Node.js Performance 改善ガイド - from scratch

    Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに

    Node.js Performance 改善ガイド - from scratch
  • NVMe SSDのベンチマークをとってみた (約70万IOPS/1台) - 元RX-7乗りの適当な日々

    手元にNVMe SSDがあったので、自分でベンチマークを取ってみたログ。 NVMeってのは、ストレージデバイスを接続する際の規格で、従来でいうSATAインターフェースの仲間みたいなもの。NVMeの詳細は以下のリンク先に記載があるので読んでいただきたい。 NVMeは、SCSIやSATA(Serial ATA)と同じく、ストレージを接続するための規格だ。パイプラインやランダムアクセスなど、メモリーベースのストレージであるSSDの特徴を活用できる。また、SATAやAHCIの登場から現在までの間に進化した、データのレイテンシー(遅延時間)短縮のための手法も反映している。 具体的な改良点としては、4KBの転送に必要なメッセージが2つではなく1つで済む点や、コマンドを処理するキューが1つではなく複数になっているという点がある。「複数」というのは、実に6万5536個である。これにより、多数のディスクI/

    NVMe SSDのベンチマークをとってみた (約70万IOPS/1台) - 元RX-7乗りの適当な日々