Closed supleiades closed 4 years ago
対象ファイルのパスこちら entry_exit/enter_exit_bot.py https://github.com/mo9mo9study/discord.study/blob/master/entry_exit/enter_exit_bot.py
@su-pleiades
エラーメッセージから読み取れる内容だけで書くと、
ぱっと浮かぶ原因&解決策候補は2つ
1) aiohttpの同時接続数制限に引っかかっている(default=100)
→ discord.pyのClient生成時に^を大きくしたaiohttpインスタンスを引き渡してあげるといけそう?
https://discordpy.readthedocs.io/en/latest/api.html?highlight=connector
→ enter_exit.pyかdiscord.pyのどこかでhttpコネクションリークが発生している可能性もあるので、
lstfコマンドあたりでモニタしてあげるのもいいかもしれない。
netstat -an | grep ESTABLISHED | grep ":80\|:443" | wc -l
でもいい。
CloudWatchではコネクション数はとれないはず。AWSの責任共有モデルに則るとOS以上のレイヤーに関してはAWSの責任範囲から外れるのでここは自前で監視する必要がある(はず)
2) botを起動しているユーザのmax open files制限に引っかかっている(default=1024)
→ botを起動しているユーザのulimit -n
で現在の設定値を確認できる。
→ まぁでも起動しているbotは↓を見る限り10個。机やtimesを常時監視しているわけではないし、1024を使い切るほど同時に処理が走るかなー?と思う。使い切っていたらToo many open filesエラーが出るはずだしね。
https://github.com/mo9mo9study/discord.study/blob/master/screen_botAllrestart.sh
→ なんらかのリソースリークや1s以上かかる遅い処理がある場合はこの限りではない
あとは今botが動いているEC2?のメトリクスとOS/Appのログを見て考えましょ。
botを起動しているユーザのmax open files制限に引っかかっている(default=1024)
[ec2-user@ip-10-10-1-5 ~]$ ulimit -n 1024
→ enter_exit.pyかdiscord.pyのどこかでhttpコネクションリークが発生している可能性もあるので
$ netstat -an | grep ESTABLISHED | grep ":80\|:443" | wc -l | xargs -I {} echo "`date '+%Y/%m/%d %k:%M:%S' ` : {}" 2020/08/18 10:33:55 : 12
これをcronで回して結果をファイルに書き込むのを一時的な対応として追加してみようと思う
当日15日の午前中のメモリの具合を確認してみたら 記録に穴が開いていたので、sarでの結果が取得できていない =このサーバー自体の何かしらの問題・・・?
$ sar -f /var/log/sa/sa15 -r
Linux 4.14.173-137.229.amzn2.x86_64 (ip-10-10-1-5.ap-northeast-1.compute.internal) 2020年08月15日 _x86_64_ (1 CPU)
00時00分02秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
00時10分01秒 91868 915092 90.88 0 93956 1475780 146.56 737432 22924 548
00時20分01秒 93688 913272 90.70 0 89896 1479028 146.88 720168 37208 548
00時30分02秒 92780 914180 90.79 0 89748 1477820 146.76 733876 24284 512
00時40分01秒 85156 921804 91.54 0 94108 1485332 147.51 727392 37328 512
00時50分01秒 94260 912700 90.64 0 86724 1484944 147.47 724616 31296 508
01時00分01秒 97000 909960 90.37 0 82616 1487924 147.76 728464 24668 432
01時10分01秒 84812 922148 91.58 0 96608 1487468 147.72 713540 51556 396
01時20分01秒 89892 917068 91.07 0 89644 1485512 147.52 717512 42136 432
01時30分01秒 86284 920676 91.43 0 93960 1488160 147.79 728956 35448 196
01時40分02秒 101924 905036 89.88 0 74792 1492580 148.23 706020 40068 516
01時50分01秒 91764 915196 90.89 0 83564 1497492 148.71 711100 45008 624
02時00分01秒 101724 905236 89.90 0 73404 1498536 148.82 710736 34736 480
02時10分01秒 91836 915124 90.88 0 80156 1505460 149.51 724248 29568 396
02時20分01秒 86156 920804 91.44 0 82916 1508180 149.78 721112 37528 476
02時30分01秒 100328 906632 90.04 0 67996 1508316 149.79 715340 29248 432
02時40分01秒 89028 917932 91.16 0 77204 1515672 150.52 711792 44084 432
02時50分01秒 77588 929372 92.29 0 87600 1514700 150.42 719828 46520 376
03時00分02秒 91428 915532 90.92 0 72792 1517492 150.70 715736 36332 436
03時10分01秒 60416 946544 94.00 0 68908 1520936 151.04 700932 47516 428
03時20分01秒 60576 946384 93.98 0 96376 1526516 151.60 721660 56044 288
03時30分02秒 77328 929632 92.32 0 78992 1526960 151.64 715640 45744 428
03時40分01秒 70796 936164 92.97 0 83224 1530816 152.02 716852 50576 432
03時50分01秒 71724 935236 92.88 0 80836 1534028 152.34 713540 52000 448
04時00分01秒 73312 933648 92.72 0 79392 1540308 152.97 706708 57636 416
04時10分01秒 66072 940888 93.44 0 82448 1542892 153.22 723244 46128 492
04時20分01秒 66008 940952 93.44 0 81996 1543428 153.28 712676 56828 476
04時30分01秒 60776 946184 93.96 0 85944 1550524 153.98 723164 51128 412
04時40分01秒 68328 938632 93.21 0 76540 1552972 154.22 722728 42980 252
04時50分01秒 74352 932608 92.62 0 69448 1553004 154.23 714728 45744 312
05時00分02秒 61696 945264 93.87 0 81236 1556012 154.53 717728 54756 436
05時10分01秒 66688 940272 93.38 0 72988 1559648 154.89 718268 47488 468
11時40分01秒 251956 755004 74.98 0 125156 1015208 100.82 561252 109712 312
11時50分01秒 248204 758756 75.35 0 126992 1023136 101.61 580956 91988 308
12時00分01秒 245844 761116 75.59 0 127572 1022216 101.52 582592 92048 308
12時10分01秒 244276 762684 75.74 0 127636 1029188 102.21 584624 90816 288
12時20分01秒 242312 764648 75.94 0 127868 1032300 102.52 586132 90980 324
12時30分01秒 241140 765820 76.05 0 127912 1031396 102.43 587072 90816 344
12時40分01秒 240420 766540 76.12 0 127996 1034516 102.74 587380 90592 288
$ sar -f /var/log/sa/sa15 -b
Linux 4.14.173-137.229.amzn2.x86_64 (ip-10-10-1-5.ap-northeast-1.compute.internal) 2020年08月15日 _x86_64_ (1 CPU)
00時00分02秒 tps rtps wtps bread/s bwrtn/s
00時10分01秒 3.58 0.69 2.90 35.33 34.18
00時20分01秒 3.79 1.24 2.55 52.63 30.20
00時30分02秒 2.89 0.37 2.53 18.06 29.18
00時40分01秒 4.12 1.50 2.62 83.46 30.87
00時50分01秒 4.14 1.52 2.62 37.58 31.61
01時00分01秒 3.67 0.96 2.71 52.54 32.31
01時10分01秒 2.82 1.98 0.85 143.09 8.83
01時20分01秒 1.94 1.31 0.63 36.39 6.59
01時30分01秒 3.69 2.96 0.73 147.20 8.14
01時40分02秒 2.89 2.23 0.66 74.36 7.07
01時50分01秒 2.85 2.10 0.75 119.31 8.34
02時00分01秒 1.94 1.11 0.83 54.16 9.26
02時10分01秒 3.46 2.43 1.03 86.96 11.56
02時20分01秒 1.91 1.18 0.72 50.90 7.56
02時30分01秒 1.66 0.99 0.67 31.76 7.44
02時40分01秒 2.67 1.95 0.72 111.30 7.75
02時50分01秒 3.55 2.75 0.80 153.52 8.82
03時00分02秒 3.35 2.67 0.68 81.90 7.47
03時10分01秒 15.11 13.53 1.58 598.47 40.36
03時20分01秒 5.45 4.65 0.80 262.20 8.96
03時30分02秒 4.21 3.54 0.67 148.48 7.44
03時40分01秒 4.60 3.83 0.77 164.60 8.46
03時50分01秒 4.75 4.03 0.71 185.06 7.98
04時00分01秒 5.22 4.51 0.71 220.12 7.94
04時10分01秒 5.41 4.51 0.89 222.72 9.57
04時20分01秒 4.92 4.24 0.67 204.75 7.42
04時30分01秒 5.97 5.19 0.78 277.25 8.58
04時40分01秒 4.82 4.13 0.69 177.91 7.65
04時50分01秒 4.72 4.06 0.66 187.41 7.42
05時00分02秒 5.70 4.88 0.81 266.51 8.98
05時10分01秒 5.61 4.74 0.87 230.20 9.52
11時40分01秒 388.86 387.94 0.92 66268.87 13.55
11時50分01秒 0.48 0.07 0.40 6.26 5.60
12時00分01秒 0.49 0.06 0.44 1.46 5.87
12時10分01秒 0.53 0.02 0.51 0.38 6.93