웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
새로운 방식의 APM 컴파일법
2003.02.07 02:24
일전에 apm 주석버전의 강좌를 올렸었지만 지금돌아보면 매우 후회막심한 강좌가 아닐수 없습니다.
프린트해보니 곳곳에 오타가 널려잇는데다 잘못된 내용까지 기재되었더군요.
일단 사과드립니다.
그리고 이제부터라도 새로운마음으로 배우시길 바라겠습니다.
1. 우리가 잘못알고있는 사실
apm 을 소스컴파일하지 맙시다. 기 방식으로 생각하자면 우리는 여러가지 옵션을주어
apache mysql php 를 연동시킵니다. 하지만 이제 더욱 간단한 방법들이 있습니다.
시간도 훨씬 적게들구요.
(apm 설치하는데 5분내외의 시간 소요. 펜4 1.7Ghz 128RAM 의 머쉰에서)
몇주동안 온갖 연동법을 공부하면서 알게된것을 소개하겠습니다.
2. mysql 은 binary 를 이용하라
여러 전문가분들과 제 글에 리플을 다신 분들의 의견을 종합해볼때 Redhat 에는 RPM 으로 깔어라
이며, 정 안될땐 Binary 로 깔아라. 입니다.
mysql 의 배포를 맡은 mysqlab 에서는 binary 야 말로 자신들의 mysql 을 최적의상태로 이용가능하다는
명제를 내세우고있습니다.
- 이제 절대로 mysql 을 소스컴파일 하지 맙시다.
그렇다면 바이너리란 무엇이냐? 말그대로 미리 컴파일된 파일입니다.
우리가 configure --prefix=$PREFIX 를 정해주면 $PREFIX 에 설치될파일이 미리 압축되어있습니다.
고로 컴파일 과정없이 쇼쇽~ 옮기면됩니다.
With charset? 해결됐다고 합니다. 걱정하실 필요가 없다는군요~
DB 경로는 어떻게 하냐고요?
# ./safe_mysqld --datadir=$DBDIR
로 하십시요. $DBDIR 은 알아서들 써주시옵소서!
3. PHP 는 DSO 로..
이제까진 activate module phplib4.a 이런식으로 연동해왔지만 이제 이런 귀찮은과정이 필요없습니다.
apache 에 module-so 만 올려주십시요. with-apxs 옵션으로 바로 인스톨됩니다.
아하 이렇게 편할수가?
현재 apm 을 한방에 설치하는 rpm 패키지를 제작중에 있으며, 여러가지 머신들에 테스트후 릴리즈하도록
하겠습니다. 시일은 얼마걸릴지 장담못하구요~^^
아참 이글은 초보분들이 읽기엔 너무 축약해서 썼습니다. 양해바랍니다. 관리자분들은
아하! 하고 알아들으실듯?
- 그리고 좋은글이라 느낄땐 추천한방 꾸욱 눌러주시는게 인지상정이겠죠? 올리는사람 마음도 생각해줘야죵^^
제 강좌는 제가 직접 치므로 오타가 있을수 있고.. 잘못된 내용이 있을수 있습니다.
프린트해보니 곳곳에 오타가 널려잇는데다 잘못된 내용까지 기재되었더군요.
일단 사과드립니다.
그리고 이제부터라도 새로운마음으로 배우시길 바라겠습니다.
1. 우리가 잘못알고있는 사실
apm 을 소스컴파일하지 맙시다. 기 방식으로 생각하자면 우리는 여러가지 옵션을주어
apache mysql php 를 연동시킵니다. 하지만 이제 더욱 간단한 방법들이 있습니다.
시간도 훨씬 적게들구요.
(apm 설치하는데 5분내외의 시간 소요. 펜4 1.7Ghz 128RAM 의 머쉰에서)
몇주동안 온갖 연동법을 공부하면서 알게된것을 소개하겠습니다.
2. mysql 은 binary 를 이용하라
여러 전문가분들과 제 글에 리플을 다신 분들의 의견을 종합해볼때 Redhat 에는 RPM 으로 깔어라
이며, 정 안될땐 Binary 로 깔아라. 입니다.
mysql 의 배포를 맡은 mysqlab 에서는 binary 야 말로 자신들의 mysql 을 최적의상태로 이용가능하다는
명제를 내세우고있습니다.
- 이제 절대로 mysql 을 소스컴파일 하지 맙시다.
그렇다면 바이너리란 무엇이냐? 말그대로 미리 컴파일된 파일입니다.
우리가 configure --prefix=$PREFIX 를 정해주면 $PREFIX 에 설치될파일이 미리 압축되어있습니다.
고로 컴파일 과정없이 쇼쇽~ 옮기면됩니다.
With charset? 해결됐다고 합니다. 걱정하실 필요가 없다는군요~
DB 경로는 어떻게 하냐고요?
# ./safe_mysqld --datadir=$DBDIR
로 하십시요. $DBDIR 은 알아서들 써주시옵소서!
3. PHP 는 DSO 로..
이제까진 activate module phplib4.a 이런식으로 연동해왔지만 이제 이런 귀찮은과정이 필요없습니다.
apache 에 module-so 만 올려주십시요. with-apxs 옵션으로 바로 인스톨됩니다.
아하 이렇게 편할수가?
현재 apm 을 한방에 설치하는 rpm 패키지를 제작중에 있으며, 여러가지 머신들에 테스트후 릴리즈하도록
하겠습니다. 시일은 얼마걸릴지 장담못하구요~^^
아참 이글은 초보분들이 읽기엔 너무 축약해서 썼습니다. 양해바랍니다. 관리자분들은
아하! 하고 알아들으실듯?
- 그리고 좋은글이라 느낄땐 추천한방 꾸욱 눌러주시는게 인지상정이겠죠? 올리는사람 마음도 생각해줘야죵^^
제 강좌는 제가 직접 치므로 오타가 있을수 있고.. 잘못된 내용이 있을수 있습니다.
댓글 13
-
펠렌
2003.02.07 03:32
-
pandix
2003.02.07 09:27
소스컴파일보다는.. 편하지만..
퍼포먼스에는 소스컴파일이 유리하다죠..아주~...약간... -
pandix
2003.02.07 10:42
무..울론.. 제 개인적이~인 생각입니다.. -
Dopesoul
2003.02.07 21:28
제가 말씀드렸듯이 소스컴파일이 퍼포먼스에 유리하다는 정설은
"100% 거짓말" 입니다.
mySQLab 사에서 컴파일한 소스보다 절대로 성능이 좋을수없습니다.
이미 수많은 전문가 분들의 견해로써 밝혀졌으며, 제가 직접 확인했습니다.
pandix 님도 잘못된 정설을 믿고계셨던겁니다. 직접측정해보지않은, 막연한 정설말입니다. -
Dopesoul
2003.02.07 21:29
아참, 예외가있을수있지 않나요? 라는 질문이 나올수도있어 미리 말씀드리지만
예외 없습니다. 절대로 절대로 mySQL 을 소스컴파일하는 무모한짓을 하지 마십시요.
물론 자신이 소스를 수정하여 제작할거라면 모를까.. 단지 이용하신다는 측면에서 볼때
소스컴파일 하면 안됩니다. 절대로요. -
주성호
2003.02.09 01:45
음... FreeBSD 에서 Port 설치는 어떨까요?
그것도 일단은 컴파일 과정이 있지만...
가능하면 시스템 상태에 맞는 컴파일 방법이 좋지않을까요?
시스템 마다 하드웨어적인 차이라던가, OS 특성을 타는 것들이 존재할 테니말입니다.
어떤 문서에 보면, 배포되는 바이너리가 확실하게 성능상에 최적화 되어있다고 장담할 수는 없다고 하더라구요..
정답은 시스템에 맞는 최적의 운영환경을 관리자 스스로가 정확하게 인지하고 운영에 들어가는 것이라고 봅니다.
특히 RDBMS 들은 엔진자체의 성능보다도 SQL Query의 최적화가 성능향상에 더 도움이 된다는 결론을 얻기도 하였습니다.
때문에 Oracle의 경우에도 자사 제품을 구입하여 운영하는 업체에 전담 엔지니어를 파견하여 튜닝을 해주는 것으로 알고 있습니다. 튜닝의 정도에 따라 비용이 들겠지만...
그저 제 사견입니다. ^^ -
Yuki-H.
2003.02.09 03:25
저는 주성호님 의견에 한표를...[탕] -
A|X
2003.02.09 16:46
주성호님의견에 한표~ -
Dopesoul
2003.02.11 04:26
gcc stable 버전은 2.95.3 인가 -_- 그럴껍니다.
CFLAGS 옵션을 적절히 사용해보세요^^ -
바른생활 NGEO
2003.02.11 00:29
에효 고민되는구랴... 이제까지 소스컴파일만 추구해왔거늘 -_ㅠ -
pandix
2003.02.10 15:26
소소설치하는법이 있죠..
SOURCE RPM 패키지를 이용하면..쿨럭.. -
이종준
2003.02.10 06:42
그리고 바이너리 컴파일 옵션을 살펴보면 모두 정적으로 컴파일하다록 되어있습니다. mysqllab 에 말하는 것은 컴파일 라이브러리 환경을 뜻하는 것이 아닐까 싶습니다. REDHAT 는 컴파일러부터 stable 버젼은 아니니깐요..^^;; -
이종준
2003.02.10 06:40
초보자라면 그냥 배포판의 패키지를 이용하는게 속 편합니다. :D 아니면 맨드레이커처럼 i586 에 최적화된 배포판을 이용하던지...그리고 한방에 APM 설치하는 RPM은 무의미 할것 같네요. 아..레드헷이나 맨드레이크 등의 패키지들은 DSO 형태죠..^^
항상 소스 설치로 이런 저런 옵션 켜고 연동하고 잡질하면서 했는데 말입니다..