파일 다운로드 서버 만드는데 스레드가 좋은지 아니면 프로세스 그것도 아니면 다른방법..

xian의 이미지

솔라리스 서버에 파일을 저장해 놓고 있다가 클라이언트가 접속해서 요청하면 파일을 내려 주는 서버를 만들려고 그러는데
어떻게 해야 옳바른 구조인지 궁금해서 글 올립니다.

[*서버 설명]
서버는 클라이언트가 동시에 여러명이 붙어서 다운로드 받을 수 있는 다중접속 서버입니다.
그리고 한 클라이언트가 파일을 다 내려 받는데 걸리는 시간은 빠르면 10초 이내 최악의 경우에는 몇분이될 수도 있습니다.

[*제가 생각한 구조]
1. 특정 스레드 갯수를 미리 띄워 놓는, 스레드풀을 이용해 접속 순서대로 처리시켜주는 방식.
2. 클라이언트가 접속할 때 마다 프로세스 하나씩을 새로 띄워 처리시키는 프리포크방식.

1번의 경우에는 작은 용량의 데이타를 간단하게 주고 받는 방식에서는 이미 사용해서 봐서 괜찮았는데 용량이 큰 파일일 경우에는 처리 시간이 오래 걸리되는데 계속해서 클라이언트가 붙으면 처리 속도가 지연될거 같다는 생각이 들고요
2번의 경우에는 클라이언트가 붙을 때 마서 프로세스를 띄우기 때문에 1번처럼 대기하는 경우는 없겠지만 계속해서 여러개의 프로세스를 띄우는 것은 시스템에 부하가 될거 같습니다.

경험이 많은 분들이나 고수님들께서는 이럴 때는 어떤 방법을 사용하시는지요.. 조언부탁드립니다. (ㅡㅡ)(_ _)꾸벅~~

익명 사용자의 이미지

httpd를 사용하는건 어떤가요?

xian의 이미지

제가 위에 간단하게 적었는데 그 외 기능들이 여러가지 더 있어서 간단하게 httpd로 사용을 못합니다. ^^;
그냥 httpd로 사용하면 안전하고 더 해줄 것도 없어서 최고인데 못써서 아쉽습니다. ^^;;

vamf12의 이미지

포크를 이용한 멀티 프로세서스 방식이 생각보다 부하가 적던데요...

그적 저럭 할 만하다고 해야 하나요? 프로세서 자체에서 특별한 연산이 없는 단순한 데이터 서버 일경우에는 inetd를 이용해서 테스트 삼아서 간단하게 한번 구현해보심이..

김정균의 이미지

단순 파일 전송이라면 single thread 를 이용하는 것이 효과가 극대화 될 수 있습니다. lighttpd 같은 것을 참고해 보세요.

댓글 달기

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