SlideShare a Scribd company logo
1 of 7
Download to read offline
PostgreSQLアンカンファレンス@東京(1/18)
河原 翔

※Linux環境に基づいた内容です


libpqのデータベース接続制御関数
◦ Version9.2でSSL圧縮を無効化にするオプションが追加

1(デフォルト)に設定することで、SSL接続越えで送信されるデータは圧縮さ
れます(これにはOpenSSLバージョン0.9.8以降が必要です)。 0に設定す
ると、圧縮が無効になります(これにはOpenSSL1.0.0以降が必要です)。
このパラメータはSSLが確立していない接続や使用されるOpenSSLがサ
ポートしていない場合は無視されます。
圧縮はCPU処理時間を使用しますが、ネットワークが問題である場合はス
ループットを改良することができます。 CPU性能が制約要因であれば、圧
縮を無効にすることで、応答時間やスループットを改良することができます。
PostgreSQL 9.3.2文書より引用
http://www.postgresql.jp/document/9.3/html/libpq-connect.html

$ psql "host=192.168.1.100 sslcompression=0"

sslcompressionを
指定しない場合は、
デフォルトで圧縮される
0指定で圧縮無効化

2


libpqはデフォルトでSSL圧縮が有効だが、比較的新しい
opensslはデフォルトでSSL圧縮が無効となっている

It is also not recommended to use compression if data transfered contain
untrusted parts that can be manipulated by an attacker as he could then
get information about the encrypted data.
See the CRIME attack.
For that reason the default loading of the zlib compression method is
disabled and enabled only if the environment variable
B<OPENSSL_DEFAULT_ZLIB> is present during the library initialization.
http://vault.centos.org/6.5/os/Source/SPackages/openssl-1.0.1e-15.el6.src.rpmの
openssl-1.0.1e-env-zlib.patchより引用

$ cat .bash_profile
[ -f /etc/profile ] && source /etc/profile
export PGDATA=/var/lib/pgsql/9.3/data
export PATH=/usr/pgsql-9.3/bin:$PATH
export OPENSSL_DEFAULT_ZLIB=1
クライアント、サーバの両方で環境変数に
OPENSSL_DEFAULT_ZLIBを設定しないと
SSL圧縮が有効にならない

3


パケット解析し、SSLハンドシェイク中の
Compression Methodを確認する

SSL圧縮が有効の場合は、Client Hello、
Server HelloのCompression Methodに
null以外の方式が格納される
(データ転送量が減少しているかで
圧縮の有効化は判断できるが、圧縮されて
いない場合の原因がクライアント・サーバの
いずれにあるかの判断まではできない)

4


性能の観点からは、CPUの性能やデータの内容により
性能への影響は変化するため、結局は実環境で
性能測定をしなければ正確なことはわからない
◦ が、よほどNWに問題があるケースでない限り、SSL圧縮は
無効化した方が応答時間やスループットは改善すると思われる
 NICが100Mbpsで共有されていて帯域逼迫しているとか…
 NW遅延が往復100ms以上あるとか…



セキュリティの観点からは、圧縮無効化が推奨
◦ CRIME attackの条件が満たされている場合であっても、
接続時のアカウントやパスワードが漏えいすることはなさそう
ではあるが…
5
試験内容
¥copy
【条件】
・create table ssltest as select
generate_series(1,10000000)で
テストデータ作成
・クライアントからpsqlで
¥timing
¥copy ssltest to '/dev/null' を実行

暗号化
なし
あり

なし
あり
なし
あり

圧縮化
なし

NW遅延

測定結果
約2秒

なし

あり
なし
あり
なし
あり

約3秒
約6秒

あり
往復
20ms
あり
往復
200ms

・¥copyの測定結果はpsqlの¥timingコマンドを利用
・ハードディスクのボトルネックを避けるために、¥copyでは/dev/nullを利用
・クライアントサーバ間はギガビットイーサで接続
・サーバのプロセッサ速度は2.7GHz
・NW遅延はクライアント、サーバの両方でtcコマンドで設定
・暗号化方式はDHE-RSA-AES256-SHA
・ssltestデータはファイルの状態で約76M
・クライアント、サーバ共にCPUは2コアだが、暗号・圧縮化時であっても1コアしか
利用されない模様

約3秒
約4秒
約7秒
約20秒

約20秒
約10秒

6
試験内容

pgbench
【条件】
・サーバでpgbench –i でテストデータ作成
・クライアントから
pgbench -c 10 -t 1000 -h サーバのIPで
pgbenchを実行

暗号化
なし
あり

なし
あり

圧縮化

NW遅延

約630tps

なし

なし

あり
なし
あり

測定結果
約580tps
約550tps

あり
往復
20ms

約24tps
約24tps
約25tps

・pgbenchの測定結果はtps(excluding connections establishing)を利用
・暗号化、圧縮化の有無はサーバ側で設定
・クライアントサーバ間はギガビットイーサで接続
・サーバのプロセッサ速度は2.7GHz
・NW遅延はクライアント、サーバの両方でtcコマンドで設定
・暗号化方式はDHE-RSA-AES256-SHA
・クライアント、サーバ共にCPUは2コア
7

More Related Content

What's hot

MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMarkus Michalewicz
 
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニックオラクルエンジニア通信
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slidesMohamed Farouk
 
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのソース・ターゲットエンドポイントとしての利用
PostgreSQLのソース・ターゲットエンドポイントとしての利用PostgreSQLのソース・ターゲットエンドポイントとしての利用
PostgreSQLのソース・ターゲットエンドポイントとしての利用QlikPresalesJapan
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングオラクルエンジニア通信
 
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用QlikPresalesJapan
 
Qlik Replicate - Control Tableの詳細
Qlik Replicate - Control Tableの詳細Qlik Replicate - Control Tableの詳細
Qlik Replicate - Control Tableの詳細QlikPresalesJapan
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesOracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesBobby Curtis
 
Qlik ReplicateでのLog Streamの利用
Qlik ReplicateでのLog Streamの利用Qlik ReplicateでのLog Streamの利用
Qlik ReplicateでのLog Streamの利用QlikPresalesJapan
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3オラクルエンジニア通信
 
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on ExadataAnil Nair
 
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Ryota Watabe
 

What's hot (20)

MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
 
Oracle GoldenGate Studio概要
Oracle GoldenGate Studio概要Oracle GoldenGate Studio概要
Oracle GoldenGate Studio概要
 
Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slides
 
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Oracle GoldenGate入門
Oracle GoldenGate入門Oracle GoldenGate入門
Oracle GoldenGate入門
 
PostgreSQLのソース・ターゲットエンドポイントとしての利用
PostgreSQLのソース・ターゲットエンドポイントとしての利用PostgreSQLのソース・ターゲットエンドポイントとしての利用
PostgreSQLのソース・ターゲットエンドポイントとしての利用
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用
 
Exadata X8M-2 KVM仮想化ベストプラクティス
Exadata X8M-2 KVM仮想化ベストプラクティスExadata X8M-2 KVM仮想化ベストプラクティス
Exadata X8M-2 KVM仮想化ベストプラクティス
 
Qlik Replicate - Control Tableの詳細
Qlik Replicate - Control Tableの詳細Qlik Replicate - Control Tableの詳細
Qlik Replicate - Control Tableの詳細
 
Oracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best PracticesOracle GoldenGate 21c New Features and Best Practices
Oracle GoldenGate 21c New Features and Best Practices
 
Qlik ReplicateでのLog Streamの利用
Qlik ReplicateでのLog Streamの利用Qlik ReplicateでのLog Streamの利用
Qlik ReplicateでのLog Streamの利用
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介
 
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
 
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on Exadata
 
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

sslcompressionの設定方法および性能測定結果