NFS 사용시 작은 파일 쓰기와 관련하여 튜닝 또는 대안을 찾고 있습니다.

systemfile의 이미지

안녕하세요.

nfs서버 1대와 nfs 클라이언트 2대로 테스트 중 성능과 관련한 문제가 생겨 글을 올립니다.

클라이언트 2대에서 테스트 파일을 생성하여
서버 저장소에 넣는 간단한 테스트를 진행해 보았습니다.

nfs에 연결된 각 클라이언트가 동시에 같은 파일을 열고 닫고를 반복하며 1바이트를 밀어 넣는 것으로 테스트 해봤는데.
만번 반복(10,000바이트 쓰기)하는데 3분이 걸리더군요...
※ 10메가 파일 0.001초가 걸렸습니다.

파일이 작아서 그런지 생각보다 성능이 안나서 튜닝 방법에 대한 도움이나
대안에 대한 조언을 듣고 싶습니다.

혹시 참고가 될만한 링크라도 부탁드리겠습니다.

감사합니다.

익명 사용자의 이미지


리눅스를 사용하신다고 했을때 기본적인 튜닝 옵션 입니다. NFS Client Node 들의 /etc/fstab

:/마운트명 /로컬마운트명 nfs tcp,bg,intr,rsize=32768,wsize=32768,_netdev,noac,actimeo=0,forcedirectio 0 0

NFS 마운트 옵션

• 클라이언트에서 mount 시 -o 뒤에 들어가는 NFS용 옵션이 있다. 모든 목록은 mount_nfs(1M)에 나와있으며 여기서는 자주 사용되는 몇가지 옵션에 대해 설명하고자 한다.
• actimeo
NFS 성능 튜닝에서 가장 많이 설정하는 것이 actimeo 값이다. 이는 nfs 로 마운트된 곳의 파일 어트리뷰트를 캐시하는 시간을 일괄적으로 지정한다. 일괄적이라는 것은 acdirmax, acdirmin, acregmax, acregmin 값을 각각 지정하는 번거로움없이 actimeo 를 적어주면 앞의 4가지 값이 모두 동일하게 변경된다. 단위는 초이다. 4가지 속성의 기본값은acdirmax=60,acdirmin=30,acregmax=60,acregmin=3 이다.
예를 들어 actimeo=30 으로 하면, 4가지 속성 모두 30(초)으로 세팅된다. 즉 acdirmax=30,acdirmin=30,acregmax=30,acregmin=30 과 같다.
• forcedirectio
directio를 강제로 사용고자 할때 옵션을 주면 된다. 버퍼링 없이 클라이언트/서버간에 데이터가 전송된다. actimeo=0 옵션과 같이 DBMS의 데이터 파일처럼 큰 파일을 핸들링 할때 주로 사용된다.
• rsize, wsize
최대 읽기버퍼(rsize), 최대 쓰기버퍼(wsize)의 크기 지정. 단위는 바이트. 기본값은 NFSv3, NFSv4에서 1048576
• bg, fg
마운트 실패시 background로 재시도, foreground로 재시도. 기본값은 fg
• noac, nointr
데이터및 파일 속성 캐시 안함(noac), [hard]옵션으로 마운트된 파일 시스템에서 행이 걸렸을 경우 프로세스를 죽이기 위해 키보드 인터럽트를 허용하지 않음(nointr). 기본값은 캐시함, 허용함.
• soft, hard
NFS서버에서 응답이 없는 경우, 서버 응답하거나 타임아웃될때까지 재시도하거나(hard), 에러를 발생하고 마운트 프로세스 종료(soft). NFSv4에서는 soft를 지원하지 않는다. 기본값은 hard.
• vers
사용할 NFS 프로토콜을 정의. vers=3 인경우 NFSv3. 기본값은 4
• 마운트 옵션 예

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.