第3回ISUCON勉強会

今日は第3回ISUCON勉強会をした。私はIT系ではないので全然分からないのだけど、チームメイトにおんぶにだっこでISUCON9をやっている。チームメイトの環境が違うとやりにくいのでDockerでやろうということになったが、Dockerも何も分からない。動かしつつ覚えていこう…と思ったけど、何をやっているのか結構カオスなので(チームメイトが優しく教えてくれてちょっとずつ分かってきた)、Docker、SQL、AWSなどについて基本だけでも勉強せねばと思う…

そんな中、ISUCONのことが書かれているSoftware Design 7月号を買った。これを読みながらやったり調べたりしたことを書こうと思う。

まず、ISUCONで重要なのは①レギュレーション文書(競技環境や出題についての情報)、②ベンチマーク中に送られてくるリクエスト(負荷)の傾向、③ベンチマーク実行中のサーバの性能情報、④バージョン管理だそう。③で、sysstat(sarコマンド)が使用できるそうなので、やってみた。

$ sysstat
sysstat: command not found

sysstatというコマンドはないらしい。じゃあsarかな?

$ sar

Command 'sar' not found, but can be installed with:

sudo apt install sysstat

ということで、入れた。

$ sudo apt install sysstat
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
 isag
The following NEW packages will be installed:
 sysstat
0 upgraded, 1 newly installed, 0 to remove and 104 not upgraded.
Need to get 453 kB of archives.
After this operation, 1524 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 sysstat amd64 12.2.0-2 [453 kB]
Fetched 453 kB in 3s (157 kB/s)  
Preconfiguring packages ...
Selecting previously unselected package sysstat.
(Reading database ... 79196 files and directories currently installed.)
Preparing to unpack .../sysstat_12.2.0-2_amd64.deb ...
Unpacking sysstat (12.2.0-2) ...
Setting up sysstat (12.2.0-2) ...

Creating config file /etc/default/sysstat with new version
update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /lib/systemd/system/sysstat.service.
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.4) ...

いざ…!

$ sar
Cannot open /var/log/sysstat/sa04: No such file or directory
Please check if data collecting is enabled

ぴえん。/etc/default/sysstatの「ENABLED="false"」になってるのを"true"に書き換えればいいというのを見たが、普通には書き換えられなかったので

$ sudo vi sysstat

として書き換えた。しかし

$ sar
Cannot open /var/log/sysstat/sa04: No such file or directory
Please check if data collecting is enabled

ぴえん。sysstatを再起動すればいいというのを見たが、これもふつうにはできなかったのでsudoで再起動したらいけた。

$ sudo service sysstat restart
* Starting the system activity data collector sadc                                                                                        [ OK ] 
$ sar
Linux 5.4.72-microsoft-standard-WSL2 (...)  07/04/21 _x86_64_ (8 CPU)

04:40:13     LINUX RESTART      (8 CPU)

1行しか出てこなくて面白くないので、取得時間の間隔を短くしたい。デフォルトは10分間隔だけど、/etc/cron.d/sysstatの「/dev/null && debian-sa1 1 1」を「/dev/null && debian-sa1 60 10」に変えると1分間隔になるらしくて変えたけど(これもsudoで)、1行しか出てこない。もっと調べると、1秒間隔で2回取得するのは次のコマンドでいけるらしい。

$ sar 1 2
Linux 5.4.72-microsoft-standard-WSL2 (...)  07/04/21 _x86_64_ (8 CPU)

05:01:14        CPU     %user     %nice   %system   %iowait    %steal     %idle
05:01:15        all      0.12      0.00      0.25      0.00      0.00     99.62
05:01:16        all      0.00      0.00      0.12      0.00      0.00     99.88
Average:        all      0.06      0.00      0.19      0.00      0.00     99.75

ということで、さっき変えた「60 10」は「1 1」に戻しておいた。他にもいろいろ出力できるらしい。(参考:https://t-min.hatenablog.com/entry/2017/02/19/234942)

今日はここまで。また風邪を引いたっぽい。家族でぐるぐる移し合ってるんじゃないかと思う…つらい…

いいなと思ったら応援しよう!