mo9mo9study / discord.study

7 stars 8 forks source link

勉強記録が正常に処理されなかった問題 #58

Closed supleiades closed 4 years ago

supleiades commented 4 years ago
supleiades commented 4 years ago

対象ファイルのパスこちら entry_exit/enter_exit_bot.py https://github.com/mo9mo9study/discord.study/blob/master/entry_exit/enter_exit_bot.py

nntsugu commented 4 years ago

@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のログを見て考えましょ。

supleiades commented 4 years ago

botを起動しているユーザのmax open files制限に引っかかっている(default=1024)

[ec2-user@ip-10-10-1-5 ~]$ ulimit -n
1024
supleiades commented 4 years ago

→ 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で回して結果をファイルに書き込むのを一時的な対応として追加してみようと思う

supleiades commented 4 years ago

当日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
supleiades commented 4 years ago
$ 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