| 2762 번 글의 답장글: Re: Re: Re: mysql thread에 대해서 |
| 글쓴이: 산이
[홈페이지]
|
글쓴날: 2008년 05월 24일 02:11:54 토(새벽) |
조회: 2348 |
[이현철]님이 남기신 글:
>언제나 산이님 답변 감사합니다..
>큰 도움이 되었습니다..
>
>한가지 산이님 답변중에 의문이 있었서요..
>
>>mysql 은 바이너리로 설치해서 사용하는것이 성능면에서
좋습니다.
>>위의 두가지에 대해서 크게 신경쓰지 않아도 됩니다
>위 처럼 말씀하셨는데요..지금까지
저는 mysql-5.0.45.tar.gz 형태의 소스를 가지고 와서 make install 해서
사용했습니다..
이것이 성능이 더 좋다고 해서요..말이죠..
>그런데 산이님께서 말씀하신 바이너리는
mysql-5.1.22-rc-linux-i686-glibc23.tar.gz 같이 것을
말씀하시는것인지요..
이 놈이 더 성능이 좋은가요..
>
>저는 지금껏.. 소스를 (mysql-5.0.45.tar.gz)가지고
와서.. 사용했는데요..
>
>제가 잘못알고 있나요..아니면..
산이님 답변에 제가 착각을 한것인지..
>바이너리와 소스에 대해서..말이죠..
>
mysql 은 소스로 직접 컴파일하지 말고 바이너리 받아서
설치하면 좋습니다. 즉 mysql ab 에서 최적의 바이너리로 빌드해
놓았기 때문에 유저가 굳지 소스 컴파일하지 않아도 됩니다.
성능면에서 역시 바이터리가 더 좋다는게 일반적으로 많이
알려져 있습니다.
현재 서비스 되는데 크게 지장이 없다면 기존 소스로 설치한
mysql 그대로 사용하시고 나중에 업데이트 하거나 새로 설치할
경우가 생기면 바이너리를 사용하세요.
>언제나 좋은 답변 감사합니다.
>
>
>
>
>[산이]님이 남기신 글:
>
>>
>>[이현철]님이 남기신 글:
>>
>>>-----------------------------------------
>>>답변자가 기본적으로 참고할 내용입니다.
>>>- 배포판(옵션) :
>>>- 커널버전(옵션)
:
>>>- 데몬버전(예: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)
>>>
>>>위와 같은 경우에 가장 간단한 방법은 무엇일까요.. 들어오는
메일을 스팸필터링 서버만으로 한정 지을수 있는
방법이..
>>>
>>>긴 내용 읽어 주셨서..감사합니다..
>>>산이님의 조언 부탁 드리겠습니다..좋은
하루 되세요...
>>
>>========================================
>
>========================================
========================================
|
이전글 : Re: Re: mysql thread에 대해서
다음글 : 모니터화면에...
|
from 211.108.72.38
JS(Redhands)Board 0.4 +@
|