| 2762 번 글의 답장글: Re: mysql thread에 대해서 |
| 글쓴이: 산이
[홈페이지]
|
글쓴날: 2008년 05월 22일 22:02:00 목(저녁) |
조회: 2486 |
[이현철]님이 남기신 글:
>-----------------------------------------
>답변자가 기본적으로 참고할 내용입니다.
>- 배포판(옵션) :
>- 커널버전(옵션)
:
>- 데몬버전(예:apache
1.3.27) :
>- 데몬설치유형(RPM/컴파일/기타)
:
>-----------------------------------------
>*스팸필터링:한글
4자(8개 문자) 이상 없으면 스팸페이지로 이동합니다.
>
>언제나 감사함을 드리면서..오늘도
산이님께 몇개 여쭈어 보려고 합니다..
>
>현재 돌리는 서버가 mysql을 사용하고 있습니다..
>그런데..mysql을
이용하는 서버가 몇대 있습니다만..데몬의
조금씩 틀려서 말이죠..
>
>서버 1번 경우에는 아래처럼 데몬이 하나 밖에
없습니다.
># ps -ef |grep mysql
>root 2781 1 0 Apr28 ? 00:00:00 /bin/sh ./safe_mysqld
>mysql 2977 2781 0 Apr28 ? 00:59:55 /usr/local/mysql/bin/mysqld
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
--log-error=/usr/local/mysql/data/po1.err --open-files-limit=8192
--pid-file=/usr/local/mysql/data/po1.pid --socket=/tmp/mysql.sock
--port=3306
>
># ps -ef |grep mysql | wc -l
>2
>
>서버 2번인 경우에는
> ps -ef |grep mysql
>mysql 7169 7150 0 2007 ? 00:00:00 /usr/local/mysql/bin/mysqld
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
--pid-file=/usr/local/mysql/data/web2.pid --skip-external-locking --port=3306
--socket=/tmp/mysql.sock
>mysql 7170 7169 0 2007 ? 00:00:06 /usr/local/mysql/bin/mysqld
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
--pid-file=/usr/local/mysql/data/web2.pid --skip-external-locking --port=3306
--socket=/tmp/mysql.sock
>
>$ ps -ef |grep mysql | wc -l
>22
>위처럼 데몬이 22개나 떠 있습니다.
>
>틀린점은 mysql 버전의 조금 다르고. 서버 1은 소스로 인스톨
해고요. 서버2는 바이러리를 가지고 와서 그냥 사용했습니다..
>이 외에는 특별히 틀린것이 없는데..그외 몇대의 mysql를
운영하지만.전부
서버1처럼 데몬은 하나 밖에 없는데.. 서버2번만 유독.데몬수가
저렇게 많이 뜨는 이유가 무엇인지 모르겠습니다..
>서버 2번같이 데몬이 많은경우가 스레드로 움직이는
것인가요..? mysql에서 스레드로 움직인다는 뜻도 좀
이해안되고요..
>
>--enable-thread-safe-client 이런 옵션을 주지 않고 인스톨해서
스레드로 움직이지 않는것일까요...
잘 모르겠습니다..
>
>
아마 위의 옵션 때문에 그럴겁니다. 어떤 배포판은 mysql
쓰레드를 전부 보여주는 경우가 있습니다.
mysql 은 바이너리로 설치해서 사용하는것이 성능면에서
좋습니다.
위의 두가지에 대해서 크게 신경쓰지 않아도 됩니다.
>하나 더 여쭈어 볼께요..
>지금 mysql 엔진을 innodb로 해서 사용하고 있습니다.
>그리고 my.cnf파일설정 부분중에 innodb_data_file_path 부분이
있는데요.
>
>innodb_data_file_path = ibdata1:9G;ibdata2:10G;ibdata3:10M:autoextend
>
>이런씩으로 설정해서사용하고
있습니다. 위처럼 설정해서 mysql db를 생성하면
># ls -al data/
>drwx------ 5 mysql mysql 1024 5月 15 17:11 .
>drwxr-xr-x 27 root root 4096 5月 8 16:14 ..
>-rw-rw---- 1 mysql mysql 268435456 5月 15 17:11 ib_logfile0
>-rw-rw---- 1 mysql mysql 268435456 5月 15 17:10 ib_logfile1
>-rw-rw---- 1 mysql mysql 268435456 5月 13 20:41 ib_logfile2
>-rw-rw---- 1 mysql mysql 9437184000 5月 15 17:11 ibdata1
>-rw-rw---- 1 mysql mysql10485760000 5月 15 17:11 ibdata2
>-rw-rw---- 1 mysql mysql 10485760 5月 15 17:11 ibdata3
>
>디비영역을 자동으로 잡아두고 그안에 innodb데이타를 채우는것
같은데요. 실제 잡아둔 영역안에 어느정도 데이타를 사용하고
있는지 아는 방법은 없을까요..
>mysql 커리로 show table status; 이런씩으로 하면 각 데이블의
용량은 알수있는데요..
전체용량을 한번에 알수있는 방법이 없을까 해서요..
>
>innodb_data_file_path = ibdata1:10M:autoextend
>이런씩으로 하나만 생성하고 운영하면 ibdata1 만
du명령어라든지
금방알수있는데
위처럼 ibdata를 쪼개서 운영하다보니..전체용량을
알수가 없네요..
>
innodb 는 직접 show table status 로 table 크기를 계산해야 할듯
하네요. 다른 툴이 있나 모르겠지만.
그냥 간단하게 쉘 스크립트 짜서 innodb 각 table 크기를 계산하는
프로그램을 짜서 사용해 보세요. 그게 정신건강에 좋을 듯
ㅎㅎ
>
>죄송합니다..sendmail도
하나 여쭈어 보려고 합니다..
>제 경험 이 이외에 방법은 없을까 해서요..
>현재 freebsd 4.7-RELEASE-p28 에서 sendmail을 돌리고
있습니다.
>그런데 이번에 샌드메일 서버 앞단에 스팸필터링 서버를 넣고
dns서버에서 도메인의 MX레코드를 운영하던 샌드메일ip에서
스팸필터링서버로
변경해주었습니다.
dns의 TTL시간을 5분정도 해서 변경후에 1달정도 지난
상태입니다.
>현재 외부에서 스팸필터링서버를
경유해서 메일이 들어오고 있습니다만..
>간혹 외국에서오는 스팸들이 아직도 기존의 샌드메일서버로
직접 메일을 보내고 있습니다.. 아마도 MX레코드가 아직
갱신이 되지 않았거나. 스팸메일서버에서
샌드메일서버 ip를 기술해서 직접보내는지 모르겠습니다만요..
>
FreeBSD 가 좀 오래되었군요. ㅠㅠ
>그래서 스팸필러팅서버를
경유하지 않고 들어오는 ip를 전부 차단하려고합니다..
그런데 iptalbe등을 사용할수 없는 관계로
샌드메일서버의/etc/mail/access
를 통해서 스팸필터링 서버와 회사 ip대역만 허락하고 전부
막을수 없을까요...
>-- access 파일에서 ------
>...
>...
>IP주소 DISCARD
>-------------------------
>위와 같이 하면 ip주소를 전부 적어줘야 할것
같아서요..
>/etc/hosts.deny랑 /etc/hosts.allow를 통해서 하려고 보니깐..
>
위의 access 파일은 relay 허용 여부입니다. 즉 해당 메일서버를
통해서
local 또는 외부로 나가는 SMTP 서버에 대한 access 입니다. 따라서
들어오는 메일에 대해서 어떤 제한을 두고자 한다면 좀
어렵네요.
센드메일 운영안하지 너무 오래되어서.
우선 스펨 필터링 메일서버를 통해서 들어오는 정상적인
메일헤더를 꼼꼼히 살펴보세요.
아마 공통적으로 어떤 헤더가 추가되어 있을 겁니다.
그 헤더 규칙 또는 문자열을 알아내고 sendmail 에서 rule 이나
스팸필터링을 한번 더 하면 될것 같네요.
즉 스펨 필터링 메일서버에서 사용하는 방식대로 본
메일서버에도 필터링을 동작케한다면 쉽게 해결될것 같네요.
역시 오늘도 많은 도움은 안네요
>freeBSD 에서는 libwrap.so 가 sendmail에서 지원하지
않터군요..
>~> ldd /usr/sbin/sendmail
>/usr/sbin/sendmail:
> libutil.so.3 => /usr/lib/libutil.so.3 (0x28066000)
> libc.so.4 => /usr/lib/libc.so.4 (0x2806f000)
>
>위와 같은 경우에 가장 간단한 방법은 무엇일까요.. 들어오는
메일을 스팸필터링 서버만으로 한정 지을수 있는
방법이..
>
>긴 내용 읽어 주셨서..감사합니다..
>산이님의 조언 부탁 드리겠습니다..좋은
하루 되세요...
========================================
|
이전글 : mysql thread에 대해서
다음글 : Re: Re: mysql thread에 대해서
|
from 211.108.72.38
JS(Redhands)Board 0.4 +@
|