ちゃんとカテゴリ分けされておりませんので、
記事をお探しならブログ内検索が便利です。
ご活用くださいませー+.(≧∀≦)゚+.゚
ブログ内検索
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
カテゴリー
最新コメント
[11/22 รูปพวงหรีดแสดงความเสียใจ]
[11/22 ดอกไม้ งานศพ]
[11/22 ช่อดอกไม้ตามสั่ง]
[11/22 ร้านดอกไม้บรรยากาศอบอุ่น]
[11/21 Robertret]
最新記事
(08/22)
(02/19)
(01/16)
(12/29)
(12/28)
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
Python3.5 * Django1.9 with Postgresql9.5 構成のバッチプログラムが見たこともないエラーを出力しました。
何だろう・・・これ?
ググってもなかなか答えが出てこない…
このバッチ自体は2か月以上運用実績があるのに…
近そうだったのが、これ。
https://www.postgresql.org/message-id/2164.1435070683%40sss.pgh.pa.us
どうも、OOM(Out of memory)のようです。
PostgresqlはキャッシュデータをOSと共有するので、Shared Memory(shared_buffur)は少ない方がよい。
というのを見て、initdbのまま(128MB)で運用していたのが原因みたい。
SELECTの対象となったデータは数十MB程度だったのだけど、並列処理していたので、合計でこの値を上回ってしまったみたい。
ではなぜ、運用開始直後から出なかったかというと、じつは直近でDBサーバをSSDに変えたのがありました。
浅はかな知識で理解する限りPostgresqlはクラスタから引き出したデータは一度共有メモリに展開します。
その後クライアントに送られます。
クラスタから引き出されたデータは順次クライアントに送られます。
ですが、データが大きく引き出す速度が転送速度を極度に上回った場合、共有メモリを圧迫します。
その結果OOMが発生し、lost synchronizationが発生したと思われます。
シンクロナイゼーション、すなわち、共有バッファとクライアントの同期が失われた。
共有バッファ上のデータがクライアントに到達する前にロストしたってことみたい。
うーん、DBチューニングは奥が深いわねぇ…
検索タグ
Postgresql9.5.3
Python3.5.0
Django1.9
psycopg2.DatabaseError: lost synchronization with server: got message type ",", length 539107884
何だろう・・・これ?
ググってもなかなか答えが出てこない…
このバッチ自体は2か月以上運用実績があるのに…
近そうだったのが、これ。
https://www.postgresql.org/message-id/2164.1435070683%40sss.pgh.pa.us
どうも、OOM(Out of memory)のようです。
PostgresqlはキャッシュデータをOSと共有するので、Shared Memory(shared_buffur)は少ない方がよい。
というのを見て、initdbのまま(128MB)で運用していたのが原因みたい。
SELECTの対象となったデータは数十MB程度だったのだけど、並列処理していたので、合計でこの値を上回ってしまったみたい。
ではなぜ、運用開始直後から出なかったかというと、じつは直近でDBサーバをSSDに変えたのがありました。
浅はかな知識で理解する限りPostgresqlはクラスタから引き出したデータは一度共有メモリに展開します。
その後クライアントに送られます。
クラスタから引き出されたデータは順次クライアントに送られます。
ですが、データが大きく引き出す速度が転送速度を極度に上回った場合、共有メモリを圧迫します。
その結果OOMが発生し、lost synchronizationが発生したと思われます。
シンクロナイゼーション、すなわち、共有バッファとクライアントの同期が失われた。
共有バッファ上のデータがクライアントに到達する前にロストしたってことみたい。
うーん、DBチューニングは奥が深いわねぇ…
検索タグ
Postgresql9.5.3
Python3.5.0
Django1.9
PR
この記事にコメントする