ラベル Configuration の投稿を表示しています。 すべての投稿を表示
ラベル Configuration の投稿を表示しています。 すべての投稿を表示

2017年11月28日

[翻訳] たった一つの設定変更が如何にしてクエリのパフォーマンスを50倍も改善したか (How a single PostgreSQL config change improved slow query performance by 50x)

先日、「How a single PostgreSQL config change improved slow query performance by 50x」というPostgreSQLのSSD環境でのチューニングの記事を見つけたのですが、これをTweetしたらRTやLikeを比較的たくさん頂きました。 日本でも興味を持つ方がいるかもと思い、オリジナルの著者の方に許可をもらったので翻訳したものを対訳形式で掲載します。

オリジナル版と併せて、よろしければご覧ください。

■How a single PostgreSQL config change improved slow query performance by 50x
■たった一つの設定変更が如何にしてクエリのパフォーマンスを50倍も改善したか


Pavan Patibandla

At Amplitude, our goal is to provide easy-to-use interactive product analytics, so everyone can find answers to their product questions. In order to provide a great user experience, Amplitude needs to provide these answers quickly. So when one of our customers complained about how long it took to load the event properties dropdown in the Amplitude UI, we started digging into it.

Amplitudeでの我々のゴールは、簡単に使えるインタラクティブなプロダクト分析を提供することです。それによって、すべての人が自分たちのプロダクトについての疑問の答えを得ることができるようになります。素晴らしいユーザエクスペリエンスを提供するために、Amplitudeは答えを迅速に提供する必要があります。ある顧客から Amplitude UI でイベントプロパティのドロップダウンリストのロードに時間がかかると苦情が来たため、その調査を開始しました。

2012年12月13日

AWSでそこそこセキュアにPostgreSQLインスタンスを立ち上げる

(4/5追記)アクセス管理関連の脆弱性が発見されています。
バージョン9.2.3、9.1.8、9.0.12、8.4.16およびそれより前のバージョンをお使いの場合はアップグレードしてください。特にクラウド環境で利用する際にはご注意ください。



PostgreSQL Advent Calendar 2012(全部俺)のDay 13です。

クラウドが大流行中です。(個人的に)

いろいろ試したり、ちょっとデータを突っ込んで分析したり、といった用途に使う場合には、クラウド上に自分専用のPostgreSQLが動いていると何かと便利です。

PaaSサービスを使うのも良いのですが、IaaS上に自分でPostgreSQLをインストールした方が自由度は高くなりますので、今回はAmazon EC2上にPostgreSQLをインストールして、自分専用のサーバとして使う設定をしてみます。

なお、インターネット上をデータが流れる関係上、多少、セキュリティに配慮した設定を行おうと思います。(とは言っても、ポート番号を変えてSSL接続を行うだけですが・・)

前提として、インターネット上のサーバの任意のポートに対してTCP接続を張れることが必要です。ファイヤーウォールなどでネットワーク接続が制限されている場合にはこの方法は使えません。

■Amazon EC2でインスタンスを立ち上げる


まず、Amazon EC2でインスタンスを立ち上げます。

EC2のセットアップから説明していると非常に長くなるため詳細は省きますが、今回は以下の設定で立ち上げます。

2012年12月1日

PostgreSQL初期設定これだけは変えておこう

PostgreSQL Advent Calendar 2012(全部俺)のDay 1です。

初日は、まずPostgreSQLを使い始める際の基本的なお作法である初期設定について簡単にまとめてみます。

PostgreSQLは、パラメータの設定を変更せずにデフォルトの設定のまま使い始めても、もちろん動くことは動くのですが、後からいろいろと問題が出てくることもありますし、特に性能関連のパラメータのデフォルト値はあまりに小さく、チューニング云々以前の問題だったりします。

というわけで、私が普段PostgreSQLをインストールして使い始める時、開発機であってもいくつかパラメータを初期設定するようにしています。

使い始める前に設定から入るのは確かに面倒なのですが、最初に設定が必要なパラメータは少数(今回紹介するのは5つ)ですので、まずは最初に必要最低限の設定をしてから使い始めましょう、というのが本エントリの趣旨です。

■設定するパラメータの種類


最初に設定を行うPostgreSQLのパラメータには、大きく分けて

・メモリ(バッファ)関連
・チェックポイント関連
・サーバログ関連

というカテゴリがあります。これらについて以下に順番に解説していきます。