2012年1月11日

[pgsql-jp: 41023] Re:pg_dumpの処理速度

永安です。

>> > LOCK処理が早くなれば、pg_dumpの並列化を独自に行って
>> > 早くなれればいいなと考えております。

素朴な疑問なのですが、本当にロックがボトルネックなのでしょうか?

ここで言っている「ロック」というのは、pg_dumpではなく、

業務トランザクションの「ロック」のことですよね。
pg_dumpはロック競合しないはずなので、いまいち状況が
分からないのですが、

> pg_dumpは他のユーザによるデータベースへのアクセス(読み書き)をブロックしません。
> http://www.postgresql.jp/document/8.2/html/app-pgdump.html

pg_dump時のディスク書き出しがボトルネックになっていたり
しないのでしょうか?

いろいろ試す前に、まずは何がボトルネックになっているのかを
明確にしてからの方がよいのではないかと思います。

> Date: Tue, 10 Jan 2012 15:29:21 +0900 (JST)
> From: <xrstt070@xxxxx>
>
> 川原です。
>
> ご回答ありがとうございます。
>
> すみません。環境をを記載しておりませんでした。
> RHEL5上でPostgresql8.2を動作させております。
>
> ちなみに、バックアップ全体では2~3時間ほどかかっております。
> 確かにそれに比べると15分は短いですね。。。
> PITRの件、使えるか調査してみます。
>
> --- On Tue, 2012/1/10, TAKATSUKA Haruka <harukat@xxxxx> wrote:
>
>> 高塚 と申します。
>>
>> 大きいデータの pg_dump の所要時間からすると +15分 は、微々たる
>> 部分という気もします。全体でどのくらい時間を要しているのでしょうか。
>>
>> 本件はパラメータチューニングでどうにかなるものでは無さそうです。
>>
>> 全体を速くするなら pg_dump から PITR 方式に切り替えるのが有力です。
>>
>> # PostgreSQLバージョンやプラットフォームを提示いただけると
>> # みなさん回答しやすいです
>>
>>
>> On Tue, 10 Jan 2012 14:22:30 +0900 (JST)
>> <xrstt070@xxxxx> wrote:
>>
>> > 川原と申します。いつもお世話になっております。
>> >
>> > 10万件超のテーブル数をもつデータベースをpg_dumpコマンドにて
>> > バックアップを行った際に、最初のLOCK処理で15分程時間がかかる
>> > のですが、パラメータチューニングなどで早くすることはできないでしょうか?
>> > また、pg_dump全体を早くするチューニング方法はないでしょうか?
>> >
>> > 獲得しているロック数の推移をpg_locksにて確認してみたのですが、
>> > 最初の数秒間は2000件/秒で、最後のほうになると40件/秒と遅くなっています。
>> >
>> > ロック関係ということで、deadlock_timeoutを長くしたりしたのですが、
>> > 改善されません。
>> >
>> > LOCK処理が早くなれば、pg_dumpの並列化を独自に行って
>> > 早くなれればいいなと考えております。
>> >
>> > 以上、宜しくお願いします。
>>
>>
>
>


--
--
NAGAYASU Satoshi <satoshi.nagayasu@xxxxx>


投稿者 xml-rpc : 2012年1月11日 14:25
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/108392
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。