mysql 재시작 쉘스크립트에 작성중 질문드립니다.

betakim의 이미지

현재 회사에서 서비스 해주고 있는 웹사이트에
DB쪽에 부하가 많이 걸려서 (slow query 때문으로 추정됨)
프로그램(php)쪽이나 장비쪽(DB와 웹서버는 내부 네트웍)으로
어느정도 해소는 되었으나 퇴근후에 디비 서버가
프로세스가 90% 이상으로 올라가서 버티지 못하는 사태가
가끔 있습니다. 따로 서버 관리자가 없기에 대응하는 시간이
늦어질수밖에 없지요. 그래서 cron으로 5분간격으로 쉘스크립트를
짜서 mysql 프로세서가 90% 이상이면 재시작하는
스크립트를 작성하려고 하는데.. 잘 안되서 조언을 구합니다.

생각은.. top 실행결과를 받아서.. 전체 라인수 만큼
반복문을 돌리고 한줄씩 awk로 검사해서 mysql 문자열이
있으면(또는 mysql.pid 화일의 pid값이 일치하는 라인)이면
프로세스 점유율 %를 지정한 수치와 비교해서
90% 이상이면 mysql 재시작.. 대충 이럽습니다.

#!/bin/sh
# top result from total for loop line
top_array="`wc top.txt | awk '{print $1}'`"

echo $top_array;

while [ "$top_array" -gt "0" ]; do
top_array=$(($top_array-1))
done
-----------------------------------------------
top의 실행결과의 txt 화일로 테스트중인데
라인수만큼 루핑을 돌릴수는 있겠는데..
화일이나 입력인자를 한줄씩 검사하는 부분이
도저히 해결이 안되네요. php로 하면
금방 되겠는데. 쉘스크립트는 생소해서요..

한줄씩 읽어오는 부분만 되면 나머지 비교하는
부분과 재시작 하는 부분은 될듯합니다만..

고수님들의 조언을 바랍니다.

감기조심하시고 항상 행복하시길...

쿠크다스의 이미지

ps -o user,%cpu,cmd -e | awk '/^mysql/ {s += $2} END {print s}'
하시면, mysql이라는 사용자로 얼마나 많은 cpu를 잡아먹고 있는지를 보여줍니다.

혹시, mysql이라는 사용자로 mysql데몬을 띄우는 외에, 다른 작업이 있다면,
/^mysql/ 이것을 적절하게 바꿔주면 되겠죠...

과자가 아닙니다.
cuckoo dozen, 즉.12마리의 뻐꾸기란 뜻입니다.

betakim의 이미지

답변 감사드립니다. 며칠동안 앓던 이처럼 답답했는데..

CPUID=$(ps -aux | grep `cat /sql/***.com.pid` | awk '{s += $3} END {print s}')

발상의 전환을 하니 쉽게 해결됐습니다..

행복하세요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.