[pgcluster: 933] Re: psql でクエリーが固まる

takay takay.ml @ gmail.com
2006年 10月 24日 (火) 22:07:28 JST


お手数おかけします。

環境は2台のサーバ構成で、それぞれにクラスタ・レプリケーション・ロードバランサ
を起動しています。

設定ファイルとログを添付します(長文失礼します)。
#長くなるのでコメント行は省いてます。


[/etc/hosts] --------------------------------------------------------------
127.0.0.1       localhost.localdomain   localhost
192.168.1.11    sv1.local1.example.jp   sv1
192.168.1.12    sv2.local1.example.jp   sv2
192.168.2.111   cl_1.local2.example.jp rep_u.local2.example.jp lb_1.local2.example.jp cl_1 rep_u lb_1
192.168.2.112   cl_2.local2.example.jp rep_l.local2.example.jp lb_2.local2.example.jp cl_2 rep_l lb_2

[cluster.conf] -----------------------------------------------------------
<Replicate_Server_Info>
        <Host_Name>             rep_u.local2.example.jp   </Host_Name>
        <Port>                  18001           </Port>
        <Recovery_Port>         18101           </Recovery_Port>
</Replicate_Server_Info>
<Replicate_Server_Info>
        <Host_Name>             rep_l.local2.example.jp   </Host_Name>
        <Port>                  18001           </Port>
        <Recovery_Port>         18101           </Recovery_Port>
</Replicate_Server_Info>

<Recovery_Port>         17101                           </Recovery_Port>
<Rsync_Path>            /usr/bin/rsync                  </Rsync_Path>
<Rsync_Option>          ssh -2                          </Rsync_Option>
<Rsync_Compress>        yes                             </Rsync_Compress>
<Pg_Dump_Path>          /usr/local/pgsql/bin/pg_dump    </Pg_Dump_Path>
<When_Stand_Alone>      read_only                       </When_Stand_Alone>

[pgreplicate.conf] -----------------------------------------------------------
<Cluster_Server_Info>
    <Host_Name>         cl_1.local2.example.jp    </Host_Name>
    <Port>              15432                   </Port>
    <Recovery_Port>     17101                   </Recovery_Port>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>         cl_2.local2.example.jp    </Host_Name>
    <Port>              15432                   </Port>
    <Recovery_Port>     17101                   </Recovery_Port>
</Cluster_Server_Info>

<LoadBalance_Server_Info>
    <Host_Name>         lb_1.local2.example.jp    </Host_Name>
    <Recovery_Port>     16101           </Recovery_Port>
</LoadBalance_Server_Info>
<LoadBalance_Server_Info>
    <Host_Name>         lb_2.local2.example.jp    </Host_Name>
    <Recovery_Port>     16101           </Recovery_Port>
</LoadBalance_Server_Info>

■↓この部分は Server-2 のみの内容です。■
<Replicate_Server_Info>
    <Host_Name>         rep_u.local2.example.jp   </Host_Name>
    <Port>              18001           </Port>
    <Recovery_Port>     18101           </Recovery_Port>
</Replicate_Server_Info>
■↑この部分は Server-2 のみの内容です。■

<Host_Name>             rep_u.local2.example.jp           </Host_Name>
■↑この部分は Server-2 では rep_l.local2.example.jp と設定してます。■
<Replication_Port>      18001                   </Replication_Port>
<Recovery_Port>         18101                   </Recovery_Port>
<RLOG_Port>             18301                   </RLOG_Port>
<Response_Mode>         normal                  </Response_Mode>
<Use_Replication_Log>   yes                     </Use_Replication_Log>

[pglb.conf] -----------------------------------------------------------
<Cluster_Server_Info>
    <Host_Name>         cl_1.local2.example.jp    </Host_Name>
    <Port>              15432           </Port>
    <Max_Connect>       32              </Max_Connect>
</Cluster_Server_Info>
<Cluster_Server_Info>
    <Host_Name>         cl_2.local2.example.jp    </Host_Name>
    <Port>              15432           </Port>
    <Max_Connect>       32              </Max_Connect>
</Cluster_Server_Info>

<Host_Name>                     lb_1.local2.example.jp    </Host_Name>
■↑この部分は Server-2 では lb_2.local2.example.jp と設定してます。■
<Backend_Socket_Dir>            /tmp            </Backend_Socket_Dir>
<Receive_Port>                  5432            </Receive_Port>
<Recovery_Port>                 16101           </Recovery_Port>
<Max_Cluster_Num>               3               </Max_Cluster_Num>
<Use_Connection_Pooling>        no              </Use_Connection_Pooling>

[pg_hba.conf] -----------------------------------------------------------
local   all         all                                             trust
# IPv4-style local connections:
host    all         all         127.0.0.1         255.255.255.255   trust
# Replication Server connections:
host    all         all         192.168.2.0       255.255.255.0     trust
host    all         all         192.168.1.0       255.255.255.0     trust

───────────────────────────────────

以下は前回お送りしたレプリケーションサーバのログの、前半部分です。

2006-10-24 21:53:08 [23958] DEBUG:/home/database/pgreplicate.log open ok
2006-10-24 21:53:08 [23958] DEBUG:PGR_Get_Conf_Data ok
2006-10-24 21:53:08 [23958] DEBUG:LoadBalanceTbl allocate ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():CascadeTbl shmget ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():CascadeTbl shmat ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():CascadeInf shmget ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():CascadeInf shmat ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():CommitLog shmget ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():Commit_Log_Tbl shmat ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():RLog Memory Allocation ok
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Host_Name,cl_1.local2.ubiqs.jp)
2006-10-24 21:53:08 [23958] DEBUG:registering hostname cl_1.local2.ubiqs.jp
2006-10-24 21:53:08 [23958] DEBUG:resolved name is 192.168.2.111
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Port,15432)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Recovery_Port,17101)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Host_Name,cl_2.local2.ubiqs.jp)
2006-10-24 21:53:08 [23958] DEBUG:registering hostname cl_2.local2.ubiqs.jp
2006-10-24 21:53:08 [23958] DEBUG:resolved name is 192.168.2.112
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Port,15432)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Recovery_Port,17101)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Host_Name,lb_1.local2.ubiqs.jp)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Recovery_Port,16101)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Host_Name,lb_2.local2.ubiqs.jp)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Recovery_Port,16101)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Host_Name,rep_u.local2.ubiqs.jp)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Replication_Port,18001)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Recovery_Port,18101)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(RLOG_Port,18301)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Response_Mode,normal)
2006-10-24 21:53:08 [23958] DEBUG:registering (key,value)=(Use_Replication_Log,yes)
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():HostTbl shmget ok
2006-10-24 21:53:08 [23958] DEBUG:PGRget_Conf_Data():HostTbl shmat ok
2006-10-24 21:53:08 [23958] DEBUG:Use Replication Log. Start PGR_RLog_Main()
2006-10-24 21:53:08 [23958] DEBUG:replicate_main():entering replicate_main
addr.sun_path[/home/database/.s.PGRLOG.18301]
Replicateion_Log->RLog_Sock_Path[/home/database/.s.PGRLOG.18301]
2006-10-24 21:53:08 [23958] DEBUG:replicate_main() 18001 port bind OK
2006-10-24 21:53:08 [23958] DEBUG:cmdSts=N
2006-10-24 21:53:08 [23958] DEBUG:rlog=0
2006-10-24 21:53:08 [23958] DEBUG:port=0
2006-10-24 21:53:08 [23958] DEBUG:pid=0
2006-10-24 21:53:08 [23958] DEBUG:from_host=192.168.2.111
2006-10-24 21:53:08 [23958] DEBUG:dbName=template1
2006-10-24 21:53:08 [23958] DEBUG:userName=postgres
2006-10-24 21:53:08 [23958] DEBUG:recieve sec=0
2006-10-24 21:53:08 [23958] DEBUG:recieve usec=0
2006-10-24 21:53:08 [23958] DEBUG:query_size=65
2006-10-24 21:53:08 [23958] DEBUG:request_id=0
2006-10-24 21:53:08 [23958] DEBUG:replicate_id=0
2006-10-24 21:53:08 [23958] DEBUG:recovery_status=0
2006-10-24 21:53:08 [23958] DEBUG:query=SELECT PGR_SYSTEM_COMMAND_FUNCTION(1,'192.168.2.111',18001,18101)
2006-10-24 21:53:08 [23958] DEBUG:PGRis_same_host():not same host
2006-10-24 21:53:08 [23958] DEBUG:pgr_createConn():PQsetdbLogin host[192.168.2.111] port[15432] db[template1] user[postgres]
2006-10-24 21:53:08 [23958] DEBUG:pgr_createConn():PQsetdbLogin ok!!
2006-10-24 21:53:08 [23960] DEBUG:PGRrecovery_main():PGRrecovery_main bind port 18101
2006-10-24 21:53:08 [23963] DEBUG:start thread_send_cluster()
2006-10-24 21:53:08 [23963] DEBUG:send_replicate_packet_to_server():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(8,1,0,1) )
2006-10-24 21:53:08 [23963] DEBUG:send_replicate_packet_to_server():sync_command returns SYSTEM_COMMAND
2006-10-24 21:53:08 [23963] DEBUG:send_replicate_packet_to_server():PQexec send :SELECT PGR_SYSTEM_COMMAND_FUNCTION(1,'192.168.2.111',18001,18101)
2006-10-24 21:53:08 [23963] DEBUG:send_replicate_packet_to_server():PQexec returns :SYSTEM_COMMAND
2006-10-24 21:53:08 [23963] DEBUG:deleteTransactionTbl():
2006-10-24 21:53:08 [23963] DEBUG:thread_send_cluster():return value from send_replicate_packet_to_server() is 0
2006-10-24 21:53:08 [23963] DEBUG:deleteTransactionTbl():
2006-10-24 21:53:08 [23963] DEBUG:thread_send_cluster():pthread_exit[0]
2006-10-24 21:53:08 [23958] DEBUG:PGRis_same_host():not same host
2006-10-24 21:53:08 [23958] DEBUG:pgr_createConn():PQsetdbLogin host[192.168.2.112] port[15432] db[template1] user[postgres]
2006-10-24 21:53:08 [23958] DEBUG:pgr_createConn():PQsetdbLogin ok!!
2006-10-24 21:53:08 [23964] DEBUG:start thread_send_cluster()
2006-10-24 21:53:08 [23964] DEBUG:send_replicate_packet_to_server():sync_command(SELECT PGR_SYSTEM_COMMAND_FUNCTION(8,1,0,1) )
2006-10-24 21:53:08 [23964] DEBUG:send_replicate_packet_to_server():sync_command returns SYSTEM_COMMAND
2006-10-24 21:53:08 [23964] DEBUG:send_replicate_packet_to_server():PQexec send :SELECT PGR_SYSTEM_COMMAND_FUNCTION(1,'192.168.2.111',18001,18101)
2006-10-24 21:53:08 [23964] DEBUG:send_replicate_packet_to_server():PQexec returns :SYSTEM_COMMAND
2006-10-24 21:53:08 [23964] DEBUG:deleteTransactionTbl():
2006-10-24 21:53:08 [23964] DEBUG:thread_send_cluster():return value from send_replicate_packet_to_server() is 0
2006-10-24 21:53:08 [23964] DEBUG:deleteTransactionTbl():
2006-10-24 21:53:08 [23964] DEBUG:thread_send_cluster():pthread_exit[1]

これ以降は前回添付したものがすべてです(削っていません)。

以上、よろしくお願いします。


---
takay.ml @ gmail.com





pgcluster メーリングリストの案内