Quantcast
Channel: 日々の覚書
Viewing all articles
Browse latest Browse all 581

mysql_native_password, caching_sha2_password の速度測り比べ

$
0
0

TL;DR


  • まずは mysql_native_password, caching_sha2_password, sha256_passwordそれぞれを指定したアカウントを作ります。
CREATE USER yoku0825_native_password IDENTIFIED WITH mysql_native_password BY 'a';
CREATE USER yoku0825_caching_sha2 IDENTIFIED WITH caching_sha2_password BY 'a';
CREATE USER yoku0825_sha256 IDENTIFIED WITH sha256_password BY 'a';
  • 別のマシンから1000回接続してquitするのにかかった時間の平均値を出します。それを5回繰り返して最大値と最小値を捨て、残った3回分の平均を取ります。
$ for n in $(seq 1 5) ; do time for m in $(seq 1 1000) ; do  MYSQL_PWD="a" mysql -h 172.31.32.165 -uyoku0825_native_password -e "quit"; done ; done
接続オプションmysql_native_passwordcaching_sha2_passwordsha256
非SSL7.8ms7.5msx
SSL34.8ms35.0ms38.1ms
非SSL + サーバーの公開鍵7.6ms7.4ms11.2ms
値はそこまでアテにしないとして、傾向としては
  • mysql_native_passwordcaching_sha2_passwordはそこまで大きな違いはない(個人によって感想は異なります)
  • やはり暗号化しないと速い
  • 非SSLで sha256_passwordを使うとかなりオーバーヘッドが見える
リモートから公開鍵を指定する MYSQL_SERVER_PUBLIC_KEYは少なくともMySQL 8.0のConnector/Cには mysql_optionsに実装されてるけど、それ以外のコネクターでは使えるのかどうかわからない。
と考えると、平文の速さが欲しければ mysql_native_passwordが安牌、SSLに切り替えるよって場合は caching_sha2_passwordでいいやってことになるかしらん。

Viewing all articles
Browse latest Browse all 581

Trending Articles