일단 커널 옵션 중 Block device --> RAM disk support 를 선택해 주어야 합니다.
# dmesg | egrep ramdisk
명령으로 찾아보시면 자신의 커널이 램디스크를 지원하도록 컴파일되어 있는지
확인해 볼 수 있습니다. 만일 램디스크를 지원한다면 /dev/ram0, /dev/ram1 등과
같은 디바이스를 사용할 수 있게 됩니다. 이를 사용하려면 다음과 같은 작업을
부팅할 때마다 해주어야 합니다.
# dd if=/dev/zero of=/dev/ram0 bs=1k count=4096
# mke2fs -v -m 0 /dev/ram0
# mount -t ext2 /dev/ram0 /mnt
위의 명령은 4MB 크기의 램디스크를 만들고 /mnt 디렉토리에 마운트한 것이죠.
물론, 자신의 환경에 맞게 적절히 고쳐주시면 됩니다.
저도 LDAP의 데이터 파티션으로 램디스크를 사용해 본 적이 있습니다만, 아주
특수한 경우가 아니라면 별로 권하고 싶지는 않군요. LDAP에서 램디스크를 제대로
사용하려면 다음과 같은 복잡한 처리를 해주어야 합니다.(제가 사용했던 방식입니다)
1. 부팅할 때마다 램디스크를 만들어 마운트합니다.
2. 이전에 백업해 둔 데이터(또는 리플리카의 데이터)들을 그대로 램디스크에
복구합니다.
3. slapd 를 구동합니다.
4. 서비스 중 갱신되는 내용들을 리플리케이션해야 합니다.
5. 시스템을 셧다운 하기 전에 램디스크의 내용을 디스크로 옮겨 씁니다.
제 소견으로는 LDAP은 램디스크를 쓰지 않아도 될 만큼 충분히 빠릅니다. 만일,
속도가 원하는 만큼 나오지 않는다면, 다음 사항들을 점검해 보세요.
- 데이터의 성격상 LDAP 보다는 DBMS가 적당하지는 않은가? (LDAP에는 자주
수정되지 않으면서 자주 검색할 필요가 있는 자료들이 적합합니다.)
- 캐쉬크기는 충분하게 설정해 주었는가?(slapd.conf 의 cachesize, dbcachesize)
- 필터로 자주 사용되는 attribute 들에 대해서 인덱스를 생성해 주었는가?
(인덱스를 적절히 만들어주면 속도가 놀라울 정도로 빨라집니다.)
- slapd.conf에 lastmod나 loglevel 과 같이 불필요한 쓰기 동작이 설정되어
있지는 않은가?
- 하드웨어 측면에서 부족한 점은 없는가? (많은 램, 빠른 디스크)
- 디렉토리의 설계는 충분히 최적화 되어 있는가?
- 어플리케이션 수준에서 잘못된 코딩은 없는가? (부적절하게 복잡한 필터,
쓸데없이 잦은 커넥션, 불필요한 bind 등)
- 컴파일 상의 문제점은 없는가? (불필요한 rlookup 옵션, 코드 최적화 옵션 등)
다시 한번 강조하지만 잘 설계되고 인티그레이션된 디렉토리는 굳이 램디스크를
필요로 하지 않을 정도로 빠르답니다 :)
-- Just hurd.
>>kilhan 님께서 쓰시길<<
:: 안녕하세요
::
:: 저도 요사이 LDAP를 사용하려고 열심히 공부중입니다.
::
:: 그런데 답변중에 다음과 같은 내용이 있더군요.
::
:: 램디스크를 만들어서 속도를 빠르게 하셨다구
::
:: LINUX에서 어떻게 램디스크를 만들수 있는지 가르쳐 주십시요
::
:: 저에게 굉장히 필요 하거든요.
::
:: 사실 LDAP를 쓰는 목적이 읽기 전용 데이타의 속도 향상인데
::
:: 별로 빨라지기 않아 걱정 했습니다
::
:: 도와 주십시요
::
::
:: 안녕하세요. 제가 테스트를 해본경우 OpenLDAP에서 사양은 AMD 400
:: 128Mb였습니다. 1만건을 테스트로 데이타를 집어넣고 검색을 해보니 전혀 속도
:: 저하가 없길래 10만건을 더 넣어보았습니다. (사실 LDAP가 입력에 너무나 속도가
:: 느린점이 있어서 10만건을 넣는데도 많은 시간이 걸리더군요.)
:: 10만건의 경우는 조금 달랐습니다. 검색속도에는 전혀 차이가 없었지만
:: 한개의 엔트리 아래에 있는 하위엔트리로 내려가는 부분에서 조금의 속도저하가
:: 있었습니다. 이 부분을 어떻게 해결할수 없을까해서 램디스크를 만들고
:: 데이타를 램디스크에 올리니 상당히 속도가 나아졌었습니다.
:: 도움이 될는지요... :-)
:: OpenLDAP 의 Mailing List Archieve를 검색해 보시길 권합니다.
:: 500만건을 입력해 사용하는 사람도 있는걸로 알고 있습니다.
|