이런 형태의 자바서버에서의 thread갯수는. 어느정도

rokmn3309의 이미지

안녕하세요.. 저번에 이와 관련된 구현 질문을 했었는데.. 이번에는 다른 질문을 또하게 되었습니다.

우선 서버의 하드웨어 사양은 메모리 2G에 xeon 2.8 듀얼입니다.

OS버전 및 GCC버전은 다음과 같습니다.

Linux version 2.6.6 (root@web1) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-20)) #1 SMP Thu May 27 03:50:14 JST 2004

자바버전은 다음과 같습니다.

java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)

서비스구성형식은 다음과 같습니다.

A구간에서는 프로그램이 9090포트에서 대기하고 있다가 accpet를 요청하면 쓰레드를 생성합니다.
쓰레드의 생성후 소멸되기전까지 클라이언트와 연결을 계속 유지하고 있습니다.(지속적으로 연결)
특정 몇몇 쓰레드는 main_user 가 되고 나머지 해당 main_user의 sub_user 쓰레드가 됩니다.

+----------------( A )----------------+
 parent--+--child(0)-main_user0
         |
         +--child(1)-sub_user1
         |
         +--child(2)-main_user1
         |
         +--child(3)_sub_user0
              :
              :
              :
         +--child(n-1)-sub_user0
         |
         +--child(n)-main_user2

여기에 추가된것이 B구간인데 메인유저가 다른 9999포트로 요청이 들어오면은 처리를 해야합니다.
동시에 많은 유저가 붙지 않는다는 가정하에 서브 쓰레드를 추가로 생성하게 했습니다.
B구간은 메인유저가 선택여부에 따라 생성되는 형태입니다.
B구간은 php의 fsockopen으로 통신을 하며 데이터를 받고 나서는 종료하는 형태입니다.(잠깐 연결후 종료)

+----------------( A )----------------++----------------( B )------------------------+--------------( web )-----------+
 parent--+--child(0)-main_user0----------sub_parent--+--sub_child(0)-sub_user0 ------------- web(0)
         |                                           |
         +--child(1)-sub_user1                       +--sub_child(1)-sub_user1 ------------- web(1)
         |                                           |
         +--child(2)-sub_user0                       +--sub_child(2)-sub_user2 ------------- web(2)
         |                                           |
         +--child(3)_main_user1                      +--sub_child(3)-sub_user3 ------------- web(3)
              :
              :
              :
         +--child(n-1)-sub_user0
         |
         +--child(n)-main_user2

옆으로 크게해야 그림이 제대로 보이는군요.

이렇게 서비스가 된다고 했을때에 A구간에서의 쓰레드와 B구간에서의 쓰레드는 쓰레드 생성제한에 있어서 따로 계산되는건가요?
아니면은 전체 메모리에 쓰레드 갯수로 제한이 되는건가요?

다음은 ulimit -a로 봤을때입니다.

[root@chatpia root]# ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 8192
cpu time             (seconds, -t) unlimited
max user processes            (-u) 16382
virtual memory        (kbytes, -v) unlimited

자바의 쓰레드 스택을 조절하는 방법은 어떤게 있을까요?
liongo의 이미지

http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp

전에 저도 자바쓰레드를 마니 사용했더니 비슷한 문제가 있어서.

자바 옵션으로 해결했던 기억이나네요 참고하시길..

p.s 요즘 바쁘다보니 한동안뜸했네요 모두들 즐거운 하루 되시길..

' 형식이 내용을 규정한다. '

댓글 달기

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