
LINUXサーバーの負荷を軽減作業してみた
こんにちは
今週はいつもと違った作業をやることがあってバタバタし、
ブログを書くのがギリギリになってしまいました。
継続していくことに価値があるのでこれからも続けていきます。
今回はサーバーのメモリが上昇していたので簡単に調査したことをまとめたいと思います。
今回の環境
LINUX
Apacheやったことリスト
①クーロンタブの情報を確認する
②サーバに入ってプロセス状況を確認する。
③Apacheの設定を見直す
④アクセスログの確認
①クーロンタブの設定を確認する。
クーロンタブは設定をしておくと自動で動いてくれるものです。
クーロンタブの状況を確認する時は下記を実行する
$ crontab -l
00 03 1 * * test batchクーロンタブはは左から「分(Minutes)」「時(hour)」「日(day)」「月(month)」「曜日(Day of the week)」となっている。
※*になっているところは毎回となります。
上記の場合は毎月1日3時00分に実行するということになります。
クーロンの実行されている処理は特に特殊なことをしなければ下記の階層にログが置いてあります。
/var/log/cron
/var/log/cron.1
/var/log/cron.2
/var/log/cron.3
1番やってはいけないのが2時間かかる処理で毎時1分に設定するとバッチが二重で動いてしまうので要注意です。
②サーバに入ってプロセス状況を確認する。
プロセスを確認するときにpsとうコマンドがあります。
今回はこちらのオプションを使って出力しました。
ps -axuUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
apache XXXX 0.0 0.0 XXXX XXXX ? S 04:02 0:06 /usr/sbin/httpd
apache XXXX 0.0 0.0 XXXX XXXX ? S 04:02 0:16 /usr/sbin/httpd
apache XXXX 0.0 0.0 XXXX XXXX ? S 04:02 0:09 /usr/sbin/httpd
apache XXXX 0.0 0.0 XXXX XXXX ? S 04:02 0:06 /usr/sbin/httpdオプションは
a : サーバの操作のプロセスを表示
x : サーバの操作以外のプロセスを表示
u : CPUとメモリ状況を表示
いつもバッチの稼働状況を使う時はps -efを使っていたので
一緒に作業していたチームの方がすぐにオプションを教えてくれました。
e : 実行しているコマンド名と環境変数を表示
f : プロセスの階層を表示
ここで気付いたのが使っていないプロセスを発見しました。
関係者に状況を聞いたところ、とりあえずインストールして運用してみたが使わなくなった。
しかし、サービスを停止することを忘れていたそうです。⇐これ、SEあるある。使っているかもしれないからとりあえず残しておこうと思考
可能であれば使わなくなったときに停止してほしいですよね。
③Apacheの設定を見直す
プロセスを確認したときにApacheのプロセスが多いことに気づきました。
これは設定ファイルを見直す必要があると気づきました。
設定ファイルは通常下記のところに置いてあります。
/etc/httpd/conf/httpd.conf
見直す必要があるのはこちらになります。
StartServers XXXXX
MinSpareServers XXXXX
MaxSpareServers XXXXX
ServerLimit XXXXX
MaxClients XXXXX
MaxRequestsPerChild XXXXXStartServers : 起動時に作成されるプロセス数
MinSpareServers : アイドル状態にいる子サーバプロセスの最小数
MaxSpareServers : アイドル状態にいる子サーバプロセスの最大数
ServerLimit : MaxClientsに指定可能な値の上限。(MaxClientより大きな数にする)
MaxClients : 応答できる同時リクエスト数
MaxRequestsPerChild : 個々の子サーバプロセスが扱うことのできるリクエストの総数。
今回はMinSpareServersを見直したほうが良いかと気づきました。
④アクセスログを確認
アクセス状況とAPIの稼働状況を確認する時はこちらのログを見ると確認できます。
/var/log/httpd/access_log
XXX.XXX.XXX.XXX – – [13/Apr/2019:04:02:39 +0900] “GET / HTTP/X.X”
XXX.XXX.XXX.XXX – – [13/Apr/2019:04:02:41 +0900] “HEAD / HTTP/X.X”
今回はAPIの設定が一部誤りがあったので修正してもらいました。
最後に
サーバーの稼働状況の整理は自分の部屋の整理と一緒です。
僕は家の中にあるものは最低限のものだけにしたいと考えている人です。
外に持ち歩くものも最低限だけにして軽くしたい人です。
部屋が汚くなる理由はものがあるからと思ってます。
不要なものは潔く捨てる。
新しいものを買ったら、古いものは止める。
これをしていかないと不要なものが貯まる一方です。
何かを始まるときは何かが終わらせる必要がある。
もし、どうしても必要なものが増えたら、広い部屋がある家に引越す。
どんなものも資源は有限なので適正に合わせて行きたいと思います。
DBエンジニアのカケルと申します。
父親が国家公務員だった為、小学校と中学校の入学と卒業した学校が違う為、
環境へ溶け込めるの得意な方です。
学生の頃はバスケをやっており、ランニングが趣味です。
ハーフマラソンは完走経験があるので次はフルマラソンも視野に入れるか検討中。
ハマると2年は続ける傾向あり。
ボーリング2年(ハイスコア238、最高アベレージ170)
スキューバー2年(沖縄、伊豆、グアムでのエントリー経験あり、50本くらい)
ゴルフ2年(最低スコア231、最高スコア117)
仕事はスタートアップ事業の黒字化に向けて、マーケターのサポートしてます。
必要なデータのプラスワンを見出すためには何が必要か?を求めながら仕事してます。
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。