Enviar pesquisa
Carregar
NW遅延環境(Paas)でのPostgreSQLの利用について
•
1 gostou
•
2,279 visualizações
K
kawarasho
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 11
Baixar agora
Baixar para ler offline
Recomendados
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
Mikiya Okuno
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと
まべ☆てっく運営
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
やってはいけない空振りDelete
やってはいけない空振りDelete
Yu Yamada
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Yahoo!デベロッパーネットワーク
Recomendados
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
Mikiya Okuno
大規模負荷試験時にやったこと
大規模負荷試験時にやったこと
まべ☆てっく運営
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
やってはいけない空振りDelete
やってはいけない空振りDelete
Yu Yamada
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Yahoo!デベロッパーネットワーク
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
NTT DATA OSS Professional Services
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
Azure勉強会 20201028 azure monitor のアラートを様々なコミュニケーションツールに通知する
Azure勉強会 20201028 azure monitor のアラートを様々なコミュニケーションツールに通知する
KenjiroHirata
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
Kosuke Kida
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Web Services Japan
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
Yoshiyasu SAEKI
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
NTT DATA Technology & Innovation
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
Amazon Web Services Japan
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
AWSからのメール送信
AWSからのメール送信
Amazon Web Services Japan
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Mmo game networking_1
Mmo game networking_1
Katsutoshi Makino
M1 gp_OneSwarm
M1 gp_OneSwarm
Daito Akimura
Mais conteúdo relacionado
Mais procurados
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
NTT DATA OSS Professional Services
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
Azure勉強会 20201028 azure monitor のアラートを様々なコミュニケーションツールに通知する
Azure勉強会 20201028 azure monitor のアラートを様々なコミュニケーションツールに通知する
KenjiroHirata
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
Kosuke Kida
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Web Services Japan
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
Yoshiyasu SAEKI
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
NTT DATA Technology & Innovation
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
Amazon Web Services Japan
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
AWSからのメール送信
AWSからのメール送信
Amazon Web Services Japan
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Mais procurados
(20)
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Azure勉強会 20201028 azure monitor のアラートを様々なコミュニケーションツールに通知する
Azure勉強会 20201028 azure monitor のアラートを様々なコミュニケーションツールに通知する
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Amazon Aurora Deep Dive (re:Invent 2015 DAT405 日本語翻訳版)
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Apache Kafka 0.11 の Exactly Once Semantics
Apache Kafka 0.11 の Exactly Once Semantics
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
AWSからのメール送信
AWSからのメール送信
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Semelhante a NW遅延環境(Paas)でのPostgreSQLの利用について
Mmo game networking_1
Mmo game networking_1
Katsutoshi Makino
M1 gp_OneSwarm
M1 gp_OneSwarm
Daito Akimura
Cloud20150802
Cloud20150802
Uemura Yuichi
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
Insight Technology, Inc.
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
Wataru Fukatsu
DNS におけるセキュリティ&プライバシ動向
DNS におけるセキュリティ&プライバシ動向
Jun Kurihara
CpawCTF 勉強会 Network
CpawCTF 勉強会 Network
Takaaki Hoyo
第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編
tzm_freedom
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
k009c1271
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論
shigaoki
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
shingo suzuki
計算機理論入門08
計算機理論入門08
Tomoyuki Tarumi
Ppt fukui g
Ppt fukui g
harmonylab
Tremaで試すFirewall
Tremaで試すFirewall
M Hagiwara
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
Akira Suzuki
20151213 kfug lt_sdn_sugihara
20151213 kfug lt_sdn_sugihara
Kota Sugihara
Protocol2018
Protocol2018
rung (Hiroki Suezawa)
Semelhante a NW遅延環境(Paas)でのPostgreSQLの利用について
(17)
Mmo game networking_1
Mmo game networking_1
M1 gp_OneSwarm
M1 gp_OneSwarm
Cloud20150802
Cloud20150802
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
DNS におけるセキュリティ&プライバシ動向
DNS におけるセキュリティ&プライバシ動向
CpawCTF 勉強会 Network
CpawCTF 勉強会 Network
第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
情報セキュリティの啓蒙と仮想ネットワーク構築 Dos
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
計算機理論入門08
計算機理論入門08
Ppt fukui g
Ppt fukui g
Tremaで試すFirewall
Tremaで試すFirewall
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
20151213 kfug lt_sdn_sugihara
20151213 kfug lt_sdn_sugihara
Protocol2018
Protocol2018
NW遅延環境(Paas)でのPostgreSQLの利用について
1.
1 NW遅延環境(Paas)での チューニングTips 河原 翔 ※Linux環境に基づいた内容です PostgreSQLアンカンファレンス@東京 (7/13)
2.
2 NW遅延とは? ネットワーク遅延とは、データを送信してから通信相手に届くまで の時間と、その応答を通信相手が送信してから送信元に届くまでの合 計時間を指す。 つまりデータを入れたパケットが伝送経路を通過するのにかかる時 間(伝搬遅延)と、経路上のルーターなどの機器が処理する時間(処 理遅延)などを足し合わせたものだ。 LAN内であれば、ネットワーク遅延は1ミリ~3ミリ秒程度。しかし社 外にある国内のデータセンターとのやり取りでは十数ミリ秒、海外の データセンターでは100ミリ秒を超えることもある。 ITproより引用 http://itpro.nikkeibp.co.jp/article/COLUMN/20121005/428005/ • 国外の会社が運営しているPaasのデータセンタは海外に あることが多いため、NW遅延の影響を受ける可能性が高い (Amazon等の大手は日本国内にもデータセンタがある)
3.
3 実際にどれくらいの影響があるのか? • 無料で利用できる「Heroku Postgres」を利用 ▫
「Heroku Postgres」の詳細は割愛
4.
4 実際にどれくらいの影響があるのか? • 約170msのNW遅延がある状態で、接続→SQL発行→切断の 時間を測定する NW遅延 約170ms さくらのVPS 大阪リージョン $ psql
"dbname=xxx-1.amazonaws.com / user=yyy password=zzz port=5432 / sslmode=require" / -c 'select * from test' > /dev/null Heroku Postgres => table test; val ----x (1 row)
5.
5 実際にどれくらいの影響があるのか? • クライアントがサーバ にTCPSYNパケットを送出してから クライアントがサーバからRSTACKパケットを受信するまでの 時間は約1400msとなった SSLセッション確立のための 時間が大半を占める
6.
6 実際にどれくらいの影響があるのか? • クエリ発行前の各種コネクション確立のための時間が大半を 占めるため、初回確立後であれば、(ACK待ちが発生しなければ) NW遅延1回分の影響のみで済む $ psql
"dbname=xxx-1.amazonaws.com user=yyy password=zzz port=5432 sslmode=require" => explain analyze table test; QUERY PLAN --------------------------------------------------------------------------Seq Scan on test (cost=0.00..1.00 rows=1 width=32) (actual time=0.021..0.022 rows=1 loops=1) Total runtime: 0.103 ms (2 rows) => ¥timing Timing is on. => table test; val -------x (1 row) Time: 183.563 ms => explainではデータ転送時間は含まれない模様 ※auto_explainの対象にならない ¥timingではデータ転送時間も含まれる模様
7.
7 【対応策】 • コネクションプーリングを利用する ▫ 初回接続時の各種コネクション確立のコストを 抑えるため
プロセス生成と終了のコストを抑えるためではない 各種コネクション確立後であれば、ACK待ちが発生しなければ NW遅延1回分の影響のみで済む ▫ pgpoolはVer2.3.2からSSLをサポート ▫ PgBounserはSSLは不可?
8.
8 【対応策】 • クエリの発行回数を抑える ▫ ストアドプロシージャを利用する
とあるOSSのブログシステムでは、画面遷移の度にクエリが 20回以上発行されることも… ▫ 一度のクエリで送受信するデータ量を増やす 一度のINSERT文で複数レコード挿入可能なことを知らない エンジニアも結構いるかと… ただし、ACK待ちは発生させないように考慮すること
9.
9 ACK待ちとは? TCPでは、ACKの応答確認により信頼確保されているが、パケットを送 信する度にACKを送信していてはさすがに通信速度が遅くなってしまい ます。そこでTCPヘッダにあるウィンドウサイズを利用することにより この問題を解決しています。ウィンドウサイズとは、ACKを待たずに一 度に送信できるデータ量のことです。 例えば、3900バイトのデータを3回に分けて送信する場合、1300バイ トのデータを送るたびにACKを待っていると通信速度は遅いですが、 ウィンドウサイズが「3900」であることを相手側のホストに伝えた場合、 送信側はACKを待つことなく3900バイトのデータを送信することができ ます。これにより通信速度が速まる。 ※ ちなみに、Windows XPの受信ウィンドウサイズはデフォルトで 「65535」バイトとなります。ウィンドウサイズはOSにより異なります。 しかし、これではウィンドウサイズ分のデータを送信した後、ACKを 受信するまでの間、待ち時間が発生する。 「ネットワークエンジニアとして」より引用 http://www.infraexpert.com/study/tcpip11.html
10.
10 ACK待ちを考慮する必要は? • 1クエリでのデータ送信量が数十KB以上あるような ケースでなければACK待ちが発生する可能性は低い ▫ 新しめのLinux
Kernelは初期ウィンドウサイズが 10と大きめに設定されているため、ACK待ちは発生し 難くなっている ▫ デフォルトでsslcompressionはONであるため、 SSL接続でのデータ転送は自動的に圧縮される ACK待ちが発生するかを事前に計算して 正確に推測することは困難 ▫ TCPのチューニングが可能であることは意識すべき tcp_slow_start_after_idleはoffにするとか…
11.
11 【要点】 • コネクションプーリングを利用する ▫ 初回接続時の各種コネクション確立のコストを抑える
プロセス生成と終了のコストを抑えるためではない • クエリの発行回数を抑える ▫ ストアドプロシージャを利用する ▫ 一度のクエリで送受信するデータ量を増やす • ACK待ちの影響を最小限にする ▫ 1クエリでのデータ送信量を、ACKを受信せずに 一度に送信できるデータ量以下に収めるようにする ▫ TCP初期ウィンドウサイズの大きいKernelを採用する
Baixar agora