TIL-航海9967日目


振り返る💦
AWS troubleshooting
nginx無停止配置
80818082の2つのポートでjarファイルを実行し、nginxはサービスポートの1つを表示します.次のブログを参照して、構成された自動化された導入がどのように実行されているかを確認してください.
https://yeonyeon.tistory.com/76
切り替えてnginxに見えないポートで実行されているプロセスを強制的に終了し、2つのプロセスが実行中で競合していることを確認します.shを以下に修正する
#!/usr/bin/env bash

ABSPATH=$(readlink -f $0)
ABSDIR=$(dirname $ABSPATH)
source ${ABSDIR}/profile.sh

function switch_proxy() {
    IDLE_PORT=$(find_idle_port)

    echo "> 전환할 Port: $IDLE_PORT"
    echo "> Port 전환"
    echo "set \$service_url http://127.0.0.1:${IDLE_PORT};" | sudo tee /etc/nginx/conf.d/service-url.inc

    # 포트 전환하면서, 바꾼거말고 다른거 kill
    if [ ${IDLE_PORT} == 8081 ]
    then
      KILL_PORT=8082
      IDLE_PID=$(lsof -ti tcp:${KILL_PORT})
      echo "> ${KILL_PORT} 포트를 종료합니다."
      kill -15 ${IDLE_PID}
    else
      KILL_PORT=8081
      IDLE_PID=$(lsof -ti tcp:${KILL_PORT})
      echo "> ${KILL_PORT} 포트를 종료합니다."
      kill -15 ${IDLE_PID}
    fi

    echo "> 엔진엑스 Reload"
    sudo service nginx reload
}
修正後はjarファイルが1つしか実行されていないことを確認し、これまでサーバのCPUは上昇しませんでした.
JPA関連「mappedBy」[ソース。]
外部キー参照整合性違反は、OneToMany、ManyToOneの双方向関係でManyToOneのエンティティを削除するときに発生します.ソースの内容と同様に、外部キーの設定時にownerをoneToManyに設定していないため、双方向関係ではManyToOneのデフォルトがownerに設定されているため、oneToManyは一緒に削除されません.

    @OneToMany(mappedBy = "post", cascade = CascadeType.ALL)
    private List<Comment> commentList;
主人関係を上記解決に設定します.
Ubuntu CPU/メモリ使用率ログを残す[ソース。]
右奮闘のCPU負荷の原因を特定するため、バックグラウンドで以下のコマンドを実行します.
while true; do (echo "%CPU %MEM ARGS $(date)"&& ps -e -o pcpu,pmem,args --sort=pcpu | cut -d""-f1-5 | tail) >> ps.log; sleep 5; done &
%CPU %MEM ARGS Mo 17. Jan 23:09:47 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.1  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
%CPU %MEM ARGS Mo 17. Jan 23:09:48 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.0  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
 ...
ログはこのように落ちます.