- このエントリーは ConoHa Advent Calendar 2018 の4日目の記事です。
- 同時に MySQL Casual Advent Calendar 2018 の4日目の記事でもあります。
- こちらの昨日は @hmatsu47 さんの MySQL レプリケーションのサポートポリシーがこっそり (?) 変わっていた話 でした。
今年はもうサポートの切れたMySQL 5.0, 5.1のことは忘れることにして、5.5, 5.6, 5.7, 8.0をそれぞれビルドしていきたいと思います。
ではまず、普段使いと同じサイズの 1GBプラン のCentOS 7.5なインスタンスをコントロールパネルからポチって起動します。
今年はビルドに必要そうなものは先にインストールすることにしました。
$ sudo yum install -y cmake gcc gcc-c++ ncurses-devel openssl-devel
ではまずは MySQL 5.5.62 からいきます。
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.62.tar.gz
$ tar xf mysql-5.5.62.tar.gz
$ cd mysql-5.5.62/
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql/5.5.62
$ time make
..
real 6m36.723s
user 5m56.500s
sys 0m39.155s
$ sudo make install
はいさくさくとMySQL 5.6.42です。
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.42.tar.gz
$ tar xf mysql-5.6.42.tar.gz
$ cd mysql-5.6.42/
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql/5.6.42
$ time make
..
real 20m41.700s
user 18m43.041s
sys 1m51.097s
5.6のビルドが思ったより時間がかかっていたので、もう1つインスタンスを立ち上げて5.7.24のビルドを始めました。
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.24.tar.gz
$ tar xf mysql-boost-5.7.24.tar.gz
$ cd mysql-5.7.24/
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql/5.7.24 -DWITH_BOOST=./boost
$ time make
..
real 48m57.496s
user 41m11.879s
sys 4m41.679s
せっかちなので更にもう1つ立ち上げて8.0.13のビルドを始めます()
$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.13.tar.gz
$ tar xf mysql-boost-8.0.13.tar.gz
$ cd mysql-8.0.13/
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql/8.0.13 -DWITH_BOOST=./boost
$ time make
..
real 91m43.661s
user 86m0.743s
sys 10m45.967s
だいぶ厳しくなってはきましたが、取り敢えず有限時間では終わるようです(ただし、他のプロセスはほとんど終了させないとダメな場合も)
ものは試し、ConoHaのメモリ1GBプランだと2CPU使えるので、
time make -j2
バージョンも試してみましたが、5.7と8.0はOOMに殺されてビルドできず…。
次のプランの2GB/3CPUでも3パラだとビルドできずに2パラでなんとか、でした。
もうこうなったら最強のインスタンスを試すしかないかと思ったんですが、
だったので、代わりに c3.8xlarge なEC2で試したみた結果。
メモリ | CPU指定 | 5.5.62 | 5.6.42 | 5.7.24 | 8.0.13 |
---|---|---|---|---|---|
1G | 1 | 6m36.723s | 20m41.700s | 48m57.496s | 91m43.661s |
1G | 2 | 3m12.228s | 9m52.848s | N/A | N/A |
2G | 2 | 未計測 | 未計測 | 24m13.637s | 42m55.905s |
2G | 3 | 2m19.953s | 7m7.850s | N/A | N/A |
60G(*) | 32(*) | 0m35.651s | 1m33.203s | 3m56.580s | 7m8.324s |
(*) よく見たら、ストレージがマグネティックだった。ConoHaはSSD。
強いインスタンスは正義ですね…。
ビルド後のサイズはこんなもので、やっぱり年々大きくなってはきている。ストレージのサイズ的にもやっぱり強いインスタンスが正義……。
$ du -sh * ### ビルドのディレクトリー
838M mysql-5.5.62
2.3G mysql-5.6.42
5.3G mysql-5.7.24
8.2G mysql-8.0.13
$ du -sh /opt/mysql/* ### インストール先のディレクトリー
341M /opt/mysql/5.5.62
998M /opt/mysql/5.6.42
1.9G /opt/mysql/5.7.24
1.6G /opt/mysql/8.0.13
明日の ConoHa Advent Calendar 2018 は misato8310 さん、
明日の MySQL Casual Advent Calendar 2018 はまだ空いているのでまた俺かも知れませんし俺でない誰かかも知れません。
明日の MySQL Casual Advent Calendar 2018 はまだ空いているのでまた俺かも知れませんし俺でない誰かかも知れません。
0 件のコメント :
コメントを投稿