俺は とある企業のDBA なので、基本的にコードは書きません。Bot書いたりとか運用ツール書いたりとかMySQLにパッチ当てたりだとかそのくらいですね。意外と書いてた。
Botはついでに動かしているだけで、もともとBotのためにConoHaを使っているわけでもなかったし(当時はCPU2コア, メモリー1GB, HDD 100GBが最小プランだったけど、Botに使うにはちょっとオーバースペック)、じゃあ何に使っているのかというと
MySQLのビルド なわけですが。これがConoHaだとかなり良い。とても良い。
というか最近、ソースコードも量が増えて、へたれな仮想サーバーとかPCのVirtualBoxだと まともな時間でビルドが終わらない ようになってきました。特に5.7から先。10時間かかっても終わらないとか挙句OOM Killerに殺されちゃったりとかなってきました。つらい。
その点ConoHaだと8.0.0でも1時間あればお釣りがくるくらいなので助かっています…というか本当に助かったこれは。、
まずMySQLおじさんたるもの、取り敢えず新しいマイナーバージョンが出たらそれをビルドします。pre 5.0は捨てるにしても、5.0.96, 5.1.73, 5.5.53, 5.6.34, 5.7.16, 8.0.0の5つのバージョンのバイナリーとソースコードを保管しないといけない訳です。
あとたまに触りたくなると(触ったあとに消すけど)lab版とかPercona ServerやMariaDB、MySQL Clusterもビルドすることになるので、常時6~8個のmysqldは常に置いておかないといけません。
$ du -sch /usr/mysql/* 104M /usr/mysql/5.0.96 306M /usr/mysql/5.1.73 385M /usr/mysql/5.5.53 676M /usr/mysql/5.6.34 1.2G /usr/mysql/5.7.16 1.2G /usr/mysql/8.0.0 1.6G /usr/mysql/http 1.2G /usr/mysql/labs 6.5G total
あとはもちろんソースコードと、コンパイルしたバイナリーは残しておかないといけません。デバッグとか、動作を理解するためにgdb刺してステップ実行とかは結構します。
$ du -shc mysql-*[0-9] 208M mysql-5.0.96 503M mysql-5.1.73 806M mysql-5.5.53 1.4G mysql-5.6.34 4.4G mysql-5.7.16 15M mysql-connector-java-5.1.40 2.3M mysql-connector-python-2.1.3 8.9M mysql-router-2.0.3 7.3G total
複数台まとめて検証したりするにはDockerが便利ですよね。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/groonga/mroonga latest a0b64d145f97 5 weeks ago 1.236 GB docker.io/groonga/mroonga mysql5634_mroonga610 6b31bf4e0d48 5 weeks ago 1.236 GB docker.io/groonga/mroonga mysql5716_mroonga610 5c849df969e4 5 weeks ago 1.778 GB docker.io/groonga/mroonga mysql5634_mroonga609 1a7d7e2ba454 6 weeks ago 1.234 GB docker.io/centos centos6.6 d03626170061 3 months ago 202.6 MB docker.io/centos centos6.8 0cd976dc0a98 3 months ago 194.5 MB docker.io/centos centos5 1ae98b2c895d 3 months ago 284.7 MB docker.io/yoku0825/mysql_router latest 4e14f7e09d50 3 months ago 519.6 MB docker.io/yoku0825/mysql_fabric_command latest 6a4304d6b8a2 6 months ago 556.8 MB docker.io/yoku0825/mysql_fabric_aware latest 2fac9fb7cc7e 6 months ago 1.664 GB docker.io/yoku0825/mysql_fabric_server latest e45808b5e20b 6 months ago 1.673 GB docker.io/groonga/mroonga mysql5623_mroonga410 37f49ca977bc 9 months ago 1.132 GB
とするとこうなりますよね。
$ df -h . Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 48G 44G 3.6G 93% /
CentOS 7.2でDocker最新版使おうと思って旧のHDD 100GBから乗り換えなければよかった。。追加SSD、流石に200GBは要らないんだよなあ。。50GB単位とかになったら嬉しい。
取り敢えず、MySQLのビルドしたりgtagsでタグ付けしてソースコード読んだり、空いたリソースでbotを起動したりする分には、お値段以上に楽しんでいる方だと思います。
明日の ConoHa Advent Calendar 2016 は Atnanasiさん 、 MySQL Casual Advent Calendar 2016 はウッ
【2016/12/13 15:58】
新しいのが出たので計り比べたらこんなんだった。
version | real | user | sys | init前のbasedirサイズ |
---|---|---|---|---|
5.5.54 | 6:12.088 | 5:35.805 | 0:34.668 | 301M |
5.6.36 | 11:14.034 | 10:12.344 | 0:58.376 | 497M |
5.7.17 | 32:06.068 | 26:00.022 | 2:30.209 | 873M |
https://gist.github.com/yoku0825/f99e1de45d22f60cc932bbb60dd6e3a9
0 件のコメント :
コメントを投稿