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

satoshi.nagayasu @ gmail.com satoshi.nagayasu @ gmail.com
2012年 1月 11日 (水) 14:25:54 JST


永安です。

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


-- 
--
NAGAYASU Satoshi <satoshi.nagayasu @ gmail.com>


pgsql-jp メーリングリストの案内