SIÇÁ·ÎÁ§Æ® ½Ç¹«°æÇè¹ÙÅÁ Àü¹®ÀÚ¹Ù°³¹ßÀÚ°øµ¿Ã¼    
    WASÀü¹®±â¼ú/½Ã½ºÅÛÀå¾ÖÁø´Ü/¼º´ÉÀÌ·Ð/ÄÁ¼³ÆÃ
¾ÆÀ̵ð: 
ºñ¹Ð¹øÈ£: 
[ȸ¿ø°¡ÀÔ]
¡ß Java Resources
--------------------
- °øÁö»çÇ×
- ÃÖ±Ù IT ¼Ò½Ä
- ¼¼¹Ì³ª¼Ò½Ä
- À̺¥Æ® & ÇÁ·Î¸ð¼Ç

- Ãßõ¹®¼­(2006)
- Ãßõ¹®¼­(2003-2005)
- Ãßõ¹®¼­(±¸)

- °ü·Ã »çÀÌÆ®

- ¹¯°í´äÇϱâ @
- ¹¯°í´äÇϱâ-BACKUP @
- ±â¼ú Åä·ÐÀå @
- ÀÏ¹Ý Åä·ÐÀå @
- »çȸ Åä·ÐÀå @


- ÇÁ·ÎÁ§Æ®½Ç¹«ÄÁ¼³ÆÃ@

- ±³À°/°­ÀÇ/°­ÁÂ
- ÇÁ·ÎÁ§Æ®/¼Ö·ç¼ÇÁ¦¾È
- ä¿ë°ø°í/°³¹ßÀÚ±¸ÀÎ
- ±¸Á÷¶õ

- Àǰ߳ª´®ÅÍ/Àâ´ã

- ÀÚ¹Ù¼­ºñ½º³ÝÀº...
Áú¹®Àº [¹¯°í´äÇϱâ]¶õ¿¡¸¸ ¿Ã·ÁÁÖ¼¼¿ä








ÃÖ±Ù¿¡ Å͵æÇÑ »õ·Î¿î °ÍÀÌ ÀÖ³ª¿ä? ¸Ó¸® ¼Ó¿¡ ³Ö¾î µÎ¸é ±Ý¹æ Àؾî¹ö¸®ÁÒ? ÀÛÀº °ÍÀÌ¶óµµ ±¦ÂúÀ¸´Ï À̰÷¿¡ ¿Ã·Á³õ°í ³²µé°ú °øÀ¯ÇϽÃÁö¿ä.. ¿Ã¸±¸¸ÇÑ ¸Þ´º°¡ ¾ø´Ù±¸¿ä? ¸¸µé¾î µå¸±²²¿ä.


[ÃÖ±Ù ¿Ã¶ó¿Â ±Ûº¸±â] °Ë»ö¾î:
 JavaResource | API Tips | Open Source | APM | ApplicationServer | Unix/DB/JVM/Etc | Q&A/Help
¡ß Java Resources
--------------------
- °øÁö»çÇ×
- ÃÖ±Ù IT ¼Ò½Ä
- ¼¼¹Ì³ª¼Ò½Ä
- À̺¥Æ® & ÇÁ·Î¸ð¼Ç

- Ãßõ¹®¼­(2006)
- Ãßõ¹®¼­(2003-2005)
- Ãßõ¹®¼­(±¸)

- °ü·Ã »çÀÌÆ®

- ¹¯°í´äÇϱâ @
- ¹¯°í´äÇϱâ-BACKUP @
- ±â¼ú Åä·ÐÀå @
- ÀÏ¹Ý Åä·ÐÀå @
- »çȸ Åä·ÐÀå @


- ÇÁ·ÎÁ§Æ®½Ç¹«ÄÁ¼³ÆÃ@

- ±³À°/°­ÀÇ/°­ÁÂ
- ÇÁ·ÎÁ§Æ®/¼Ö·ç¼ÇÁ¦¾È
- ä¿ë°ø°í/°³¹ßÀÚ±¸ÀÎ
- ±¸Á÷¶õ

- Àǰ߳ª´®ÅÍ/Àâ´ã

- ÀÚ¹Ù¼­ºñ½º³ÝÀº...
¡ß Java API Tips
--------------------
- Programming Tips
- JDC Tech Tips

- Servlet/JSP
- J2EE/EJB
- XML/SOAP/UDDI/WSDL
- Jakarta POI
- JDBC
- Mobile Java
- Applet,Swing,SWT
- CORBA
- RMI
- JavaMail
- HTML/HTC/css/js
- Web ÀϹÝ

- ¼­ºí·¿¿£Áø @
(JServ,Tomcat,JRun,..)
¡ß Open Source
----------------------
- Eclipse/Plugin
- Apache Struts
- JDF Framework
  - Download / API

- Open Source Q&A
* ¿ÀǼҽº °Ô½ÃÆÇ
  ½Åû¹Þ¾Æ¿ä.
¡ß APM
----------------------
- Performance Forum
- Jennifer
  - Consulting Doc.
  - »ç¿ëÈıâ/±â´ÉÃß°¡¿äû
  - Jennifer FAQ
  - Jennifer Q&A
  - Jennifer Download
- CA/Wily
- Mercury Topaz/J2EE Diag.
- Symantec i3
- Borland Optimizeit
- Compuware Vantage
¡ßApplicationServer
-------------------- 
- ¾îÇø®ÄÉÀ̼Ǽ­¹ö

- ATG Dynamo
- BEA WebLogic
- BolandEnterpriseServer
- Evermind Orion Server
- Fujitsu Interstage
- GemStone's GemStone/J
- HP Netaction
- IBM WebSphere
- IONA iPortal
- InfronTech WebTide
- Macromedia JRun
- Marc Fleury's JBoss
- Oracle 9iAS/OAS/OSDK
- Persistence PowerTier
- SilverStream eXtend
- Sun/Netscape iPlanet
- Sybase EAServer
- TmaxSoft JEUS

- ¼­ºí·¿¿£Áø
(JServ,Tomcat,Resin,..)

- eclipse/Plugin
- Other IDE Tools
¡ßUnix/DB/JVM/Etc
--------------
- Unix/Network
- Hacking/Cracking

- DataBase
- JDBC @

- JVM/JDK Issue
- ±âŸ ÀÚ·á½Ç
¡ß Q&A/Help
--------------------
- ¹¯°í´äÇϱâ
- ¹¯°í´äÇϱâ-BACKUP
- Åä·ÐÀå
- ÇÁ·ÎÁ§Æ®½Ç¹«ÄÁ¼³ÆÃ
- Framework Q&A @
- Jennifer Q&A @

- °Ô½ÃÆÇ »ç¿ë¹ý
- ÀÚ¹Ù¼­ºñ½º³ÝÀº... @
ÇÁ·ÎÁ§Æ® ½Ç¹« ÄÁ¼³ÆÃ
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]   
Á¦¸ñ : À¥±â¹Ý½Ã½ºÅÛÇÏ¿¡¼­ÀÇ ¼º´É¿¡ °üÇÑ ÀÌ·ÐÀû °íÂû
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2001/12/19 03:46:51 Á¶È¸¼ö:45420 ÁÙ¼ö:68
À¥±â¹Ý½Ã½ºÅÛÇÏ¿¡¼­ÀÇ ¼º´É¿¡ °üÇÑ ÀÌ·ÐÀû °íÂû

ÃÖ±Ù¹®¼­¼öÁ¤: 2002.02.22 21:06
ÃÖ±Ù¹®¼­¼öÁ¤: 2002.02.25 16:27
ÃÖ±Ù¹®¼­¼öÁ¤: 2002.02.26 20:00

À¥±â¹Ý ½Ã½ºÅÛÀÇ ¿ª»ç°¡ ª´Ùº¸´Ï, À¥±â¹Ý½Ã½ºÅÛ¿¡¼­ ¾î¶»°Ô ¼º´ÉÀ» ÃøÁ¤ÇÒ °ÍÀΰ¡, 
¹«¾ùÀÌ ¼º´ÉÀΰ¡, ¼º´ÉÀº ¾î¶² Ư¼ºµéÀÌ Àִ°¡, µ¿½Ã»ç¿ëÀÚ´Â ¹«¾ùÀÌ°í ¾î¶»°Ô ÃøÁ¤µÇ¾î
Áö´Â°¡, ½ºÆ®·¹½ºÅ×½ºÆ®´Â ¾î¶»°Ô Çϴ°¡¿¡ ´ëÇÑ ÀÌ·ÐÀû Áö½ÄÀÌ ¸¹ÀÌ ºÎÁ·ÇÑ µí ÇÕ´Ï´Ù.

º» °­ÀÇ´Â »óÀÌÇÑ À¥¾îÇø®ÄÉÀ̼Ǽ­¹ö(Web Appliction Server) ȯ°æ ÇÏ¿¡¼­ÀÇ
º¥Ä¡¸¶Å©Å×½ºÆ®(Benchmark Test)¸¦ ¼öÇàÇϰí, ÀÎÅͳݹðÅ·À» ºñ·ÔÇÑ ¿©·¯ ±ÝÀ¶±Ç »çÀÌÆ®¿Í
Áõ±Ç»çÀÌÆ®ÀÇ Àå¾ÖÁø´Ü ¹× Æ©´×À» ÅëÇØ ½ÀµæÇÑ À¥±â¹Ý ½Ã½ºÅÛÇÏ¿¡¼­ÀÇ ¼º´É(Performance)¿¡
°üÇÑ ÀÌ·ÐÀû Áö½ÄÀ» Áý´ë¼ºÇÑ °ÍÀÔ´Ï´Ù. 

º» °­ÀÇ´Â ÇöÀç À¥±â¹Ý½Ã½ºÅÛÀ» ¿î¿µ/°ü¸®Çϰí ÀÖ´Â ½Ã½ºÅÛ°ü¸®ÀÚ³ª, ³×Æ®¿öÅ©¸¦ Æ÷ÇÔÇÑ
½Ã½ºÅÛ ¾ÆÅ°ÅØÃĸ¦ °í¹ÎÇÏ´Â ¾ÆÅ°ÅØÅÍ, Á¦Ç°¼±Á¤À̳ª ½Ã½ºÅÛ µµÀÔÀ» À§ÇÑ º¥Ä¡¸¶Å©Å×½ºÆ®¸¦
½ÃÇàÇÒ ±â¼ú´ã´çÀÚ, À¥ ±â¹Ý ½Ã½ºÅÛ¿¡ ´ëÇÑ Æ©´×À» ½ÃÇàÇÒ ¿£Áö´Ï¾î, ȤÀº À¥ÇÁ·Î±×·¡¸Ó
Áß¿¡¼­µµ Áß±Þ ÀÌ»óÀÇ ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØÅ͸¦ ÁöÇâÇÏ´Â °³¹ßÀÚ, ±×¸®°í ¼º´É¿¡ ´ëÇØ
³ª¸§´ë·Î ÀÌ·ÐÀûÀΠƯ¼ºµéÀ» ¾Ë°íÀÚ ÇÏ´Â À̵éÀ» ´ë»óÀ¸·Î Çϰí ÀÖ½À´Ï´Ù.

º»  °­ÀÇ´Â ÀÌ·ÐÀûÀÎ ºÎºÐ¿¡ ¸¹Àº Áö¸éÀ» ÇÒ¾ÖÇϰí ÀÖÀ¸¸ç, ½ÇÁúÀûÀÎ Æ©´×À» À§ÇØ ¹»
¾î¶»°Ô °íÄ£´Ù´Â ½ÄÀÇ °ÍµéÀº ±â¼úÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ±âº»ÀûÀÎ °³³äÀÌ ÀâÇôÁö¸é ¾î¶»°Ô
ÇÏ¸é µÇ´Â°¡´Â ½º½º·Î ÃæºÐÈ÷ ã¾Æ³¾ ¼ö ÀÖÀ» °ÍÀ¸·Î ¹Ï±â ¶§¹®ÀÔ´Ï´Ù.

ÀÌ °­ÀǸ¦ ÅëÇØ, À¥±â¹Ý ½Ã½ºÅÛÀÇ ¼º´É¿¡ ´ëÇÑ ÀÌ·ÐÀû Ư¼ºÀ» ÀÌÇØÇϰí, ÇâÈÄ ½Ã½ºÅÛ
¼º´ÉÁø´ÜÀ̳ª Çϵå¿þ¾î¿ë·®Áõ¼³ ½Ã¿¡ Âü°íÇÒ ¼ö ÀÖÀ» °ÍÀ̸ç, ¾î¶»°Ô À¥±â¹ÝÀÇ
½Ã½ºÅÛ¿¡¼­ÀÇ ¼º´ÉÀ» ÃøÁ¤ÇÒ °ÍÀΰ¡, ¾î¶»°Ô Æ©´×ÇÒ °ÍÀΰ¡¿¡ ´ëÇÑ °í¹ÎÀÇ Ã¹ Ãâ¹ßÀÌ µÉ
°ÍÀ¸·Î ¹Ï½À´Ï´Ù.

º» ¹®¼­´Â ÀúÀÚÀÇ µ¿ÀǾøÀÌ ¹«´Ü¹èÆ÷¸¦ ÇÏ½Ã¸é ¾ÈµË´Ï´Ù.
Document Version 1.2.9   2002.02.21
Document Version 1.2.9.2   2002.02.25 16:27
Document Version 1.3.0   2002.02.26 20:00

------------------
2002.01.21 Ãß°¡
Áö±Ý±îÁöÀÇ ÀÚ·á´Â Ç×»ó ÇϳªÀÇ ÀÀ¿ë¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ TPS¿Í Response TimeÀ»
±¸Çϰí, ±× Ư¼ºÀ» ÀÌÇØÇϴµ¥ ±×ÃÆ½À´Ï´Ù. ±×·¯³ª, ½ÇÀç ½Ã½ºÅÛÀº ¾î¶°Çմϱî?
Servlet/JSP´Â ¼ö½Ê¿¡¼­ ¼ö¹é°³À̰í, ±× Áß ÀÚÁÖ »ç¿ëµÇ´Â °Í°ú ¾î¶² °ÍÀº ÀüÇô
»ç¿ëµÇ°í ÀÖÁö ¾Ê´Â µî, °³º°ÀÀ¿ë¾îÇø®ÄÉÀ̼ǵéÀº °¢±â ¼­·Î ´Ù¸¥ ºóµµ·Î È£ÃâµÇ°í
ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ Ã³·³, n°³ÀÇ ¼­·Î ´Ù¸¥ ÀÀ¿ë¾îÇø®ÄÉÀ̼ǵéÀÌ ¼­·Î´Ù¸¥ È£Ãâºóµµ·Î
¿äûµÇ¾î Áú ¶§, °¢ ÀÀ¿ë¾îÇø®ÄÉÀ̼ǵéÀÇ ¼º´ÉÀÌ ¾î¶»°Ô ¼­·Î ¿¬°ü°ü°è¸¦ ¸Î´ÂÁö¿¡
´ëÇÑ ÀÌÇØ°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. "´ÙÂ÷¿ø À¯Å¬¸®µå°ø°£¿¡¼­ÀÇ °Å¸®°³³ä"Àº À̰ÍÀ» Ç®¾îÁÖ´Â
¸ÚÁø ÇØ¹ýÀ» Á¦°øÇϰí ÀÖ´õ±º¿ä. ÇöÀç, ÀÌ ºÎºÐ¿¡ ´ëÇÑ °í¹ÎÀÌ ¿Ï¼º´Ü°è¿¡ ÀÖ½À´Ï´Ù.
Àû¾îµµ, ´ÙÀ½ ´Þ 2¿ù 21ÀÏ ¿­¸± "Çѱ¹ÀÚ¹Ù°³¹ßÀÚ ÄÁÆÛ·±½º"¿¡¼­´Â ÀÌ ºÎºÐÀÌ Ãß°¡µÇ¾î
°­ÀǸ¦ ÇÒ ¼ö ÀÖÀ» °ÍÀ¸·Î »ý°¢ÇÕ´Ï´Ù. (±â´ëµÇÁö ¾Ê½À´Ï±î?)

------------------
2002.02.21 Ãß°¡
3Àå n°³ÀÇ ¼­·Î ´Ù¸¥ ¾îÇø®ÄÉÀ̼ǰ£ÀÇ ¿µÇâµµ¿Í ¼º´ÉÁö¼ö¸¦ ±¸ÇÏ´Â ÇÁ¸®Á¨Å×ÀÌ¼Ç ºÎºÐÀ»
¿Ï¼ºÇß½À´Ï´Ù. ±×·¯³ª, ¾ÆÁ÷ ÀÚ·á¿¡ ¼³¸íÀº Ãß°¡ÇÏÁö ¸øÇß½À´Ï´Ù. Á¶¸¸°£ ´Ù½Ã ¿Ã¸®µµ·Ï
ÇϰڽÀ´Ï´Ù.

--------------------
2002.02.26
¸ðµç ÇÁ¸®Á¨Å×À̼ǿ¡ ´ëÇÑ ÇϰíÀÚ Çß´ø ¼³¸í±ÛÀ» ¸ðµÎ ÀÛ¼ºÇß½À´Ï´Ù. ¹º°¡¸¦ Çϳª 
ÀÌ·ð´Ù´Â ÈïºÐÀ» °¨ÃßÁö ¸øÇϰڳ׿ä... ´ÙÀ½ ÅäÇÈÀº "º¥Ä¡¸¶Å© Å×½ºÆ® ¹æ¹ý·Ð"ÀÔ´Ï´Ù.
½Ã°£³ª´Â´ë·Î Æ´Æ´ÀÌ ÀÛ¼ºÅä·Ï ÇϰڽÀ´Ï´Ù. ±â´ëÇØ ÁÖ¼¼¿ä.

PS: ÇÁ¸°Æ® ÇÏ½Ç ¶§ ¹Ýµå½Ã "Àμâ´ë»ó"Àº "½½¶óÀ̵å³ëÆ®"·Î ¼±ÅÃÇϽðí, ¶Ç Èæ¹éÇÁ¸°Æ®ÀÇ
 °æ¿ì Ãß°¡ÀûÀ¸·Î ¹Ýµå½Ã "ȸ»öÁ¶"¸¦ ¼±ÅÃÇÏ¿© ÇÁ¸°ÆÃ Çϼ¼¿ä.

================================================
  ÀÚ¹Ù¼­ºñ½º³Ý ÀÌ¿ø¿µ
  E-mail: javaservice@hanmail.net
  PCS:011-898-7904
================================================

Download PerformanceConcept.zip (659325 Bytes) PerformanceConcept.zip (659325 Bytes)
Á¦¸ñ : Re: À¥¾îÇø®ÄÉÀ̼Ǽ­¹öÀÇ ¾²·¹µå °³¼ö´Â ¹«½¼ ±Ù°Å·Î ?
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2002/02/15 11:38:25 Á¶È¸¼ö:3192 ÁÙ¼ö:65
>
> {[Áú¹®]¾²·¹µå °¹¼ö´Â ¹«½¼ ±Ù°Å·Î Á¤Çϳª¿ä??}
> {¿ï¶ö¶ó(sugyoo), bulkog@piona.co.kr}
>
> 
> À¥·ÎÁ÷ 5.1¿¡¼­´Â ¾²·¹µå °¹¼ö¸¦ Á¤ÇÏ´Â ÆÄ¶ó¹ÌÅͰ¡ ÀÖ½À´Ï´Ù. ±Ùµ¥¿ä, À̰ÍÀÇ °¹¼ö¸¦
> ´Ã·ÁÁÖ°í´Â ½ÍÀ¸³ª ¹«¾ùÀ» ±Ù°Å·Î ´Ã·ÁÁÖ´ÂÁö¸¦ ¸ð¸£°Ú½À´Ï´Ù.
> Âü°í·Î EJB°¡ 200°³, Ä¿³Ø¼Ç Ç®ÀÌ 30°³ÀÔ´Ï´Ù. 
> CPU 2, MEM 2G

°á±¹, ÀúÀÇ °á·ÐÀ» ¸»¾¸µå¸®¸é, "Àå¾Ö°¡ ¾øÀ¸³ª ±ØÈ÷ ¸Å¿ì Àß ¼­ºñ½ºÇÑ »óȲ¿¡¼­
µ¿½Ã¿¡ ¼­ºñ½ºÇϰí ÀÖ´ø Active Thread ÀÇ °³¼ö, ±×°ÍÀÇ max Ä¡¿¡ ÁØÇÏ´Â °ª"À¸·Î ¸¶Ã߸é
µË´Ï´Ù. Áï, ¼­·Î ´Ù¸¥ n°³ÀÇ ÀÀ¿ë¾îÇø®ÄÉÀ̼ÇÀÌ µ¿½Ã¿¡ ¼­ºñ½ºÇÒ ¶§, ÃÖ´ëÀÇ ¼º´ÉÀ»
³ªÅ¸³»´Â ÀÓ°èÁ¡(Saturation Point)°³¼ö·Î ¸ÂÃß¶ó´Â °ÍÀÌÁö¿ä.
ÀÌ ¼öÄ¡¸¦ ³Ñ¾î°£´Ù´Â °ÍÀº ÀÌ¹Ì °è¼Ó ¿äûµé¾î¿À´Â ¼­ºñ½ºµéÀÌ ¾ÕÀ¸·Î Áö¼ÓÀûÀÎ
Å¥À×Çö»óÀ» ¸ÂÀÌÇÒ °ÍÀ̶õ °ÍÀ» ¶æ ÇÕ´Ï´Ù.

(¶Ç Çѹø ºñÀ¯¸¦ ÇØ º»´Ù¸é), ÀÏÁ¤ÇÑ ³ôÀ̸¦ °®´Â ±ò´ë±â¿¡, ´ÜÀ§½Ã°£´ç ÀÏÁ¤ÇÑ ¹°À»
¼öµµ²ÀÁö¸¦ Á¶±Ý¾¿ Ʋ¸é¼­ Á¡Â÷ÀûÀ¸·Î Èê·Áº¸³»´Â ½ÇÇèÀ» ÇÑ´Ù°í ÇßÀ» ¶§, 
ÀÏÁ¤ÇÑ ½ÃÁ¡±îÁö´Â, ±× ±ò´ë±âÀÇ ¹°³ôÀÌ´Â ¼öµµ²ÀÁö¿¡¼­ ³ª¿À´Â ¹°ÀÇ ·®¿¡ ºñ·ÊÇÏ¿©
ÀÏÁ¤ÇÑ ¼öÄ¡±îÁö Áõ°¡Çϴ Ư¼ºÀ» °®°í ÀÖ½À´Ï´Ù.

±×·¯³ª, ±ò´ë±â ¹ØÀ» Èê·¯ ³»¸¦ ¼ö ÀÖ´Â ´ÜÀ§½Ã°£´ç ¹°ÀÇ ·®º¸´Ù, ¼öµµ²ÀÁö¿¡¼­ ³ª¿À´Â
´ÜÀ§½Ã°£´ç ¹°ÀÇ ·®ÀÌ ¸· ³Ñ¾î¼­´Â ½ÃÁ¡ºÎÅÍ, ±ò´ë±âÀÇ ¹°³ôÀÌ´Â Áö¼ÓÀûÀ¸·Î ¼ø½Ä°£¿¡
Â÷ ¿Ã¶ó¿Í ¹ö¸®´Â Ư¼ºÀ» ½±°Ô ¿¬»óÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.µû¶ó¼­, °á±¹, »ç½Ç»ó ÇÊ¿ä·Î
ÇÏ´Â ÃÖ´ëÀÇ ±ò´ë±â ³ôÀÌ´Â, ´ÜÀ§½Ã°£´ç Èê·¯³»¸± ¼ö ÀÖ´Â ÃÖ´ëÀÇ ·®¿¡ µµ´ÞÇϱâ Á÷ÀüÀÇ
Àß Èê·¯³»¸± ¶§ÀÇ ±× ¶§ÀÇ ¹°³ôÀÌ À̸é ÃæºÐÇÏ´Ù´Â ¶æÀÌ µË´Ï´Ù. 
±× ÀÌ»óÀÇ ¹°³ôÀ̶ó´Â °ÍÀº, ´ÜÀ§½Ã°£´ç ÀÏÁ¤ÇÑ ·®¾¿ Áö¼ÓÀûÀ¸·Î µ¿ÀÏÇÏ°Ô Èê·¯ µé¾î¿À´Â
½Ç »óȲ¿¡¼­´Â Ç×»ó Åë°èÀûÀÎ »óȲ¿¡ Á÷¸éÇÏ°Ô µÇ¸ç, ÀÌ »óȲ¿¡¼­´Â ¹°³ôÀ̰¡ ÇØ´ç
½ÃÁ¡ÀÇ ³ôÀº ¼öÄ¡¿¡¼­ °íÁ¤µÇ¾î ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó Áö¼ÓÀûÀ¸·Î ³ô¾ÆÁö°í ÀÖ´Ù´Â °ÍÀ»
¶æÇÏ°Ô µË´Ï´Ù. ¸¸¾à, ÃÊ´ç 10°³¾¿ ¹Û¿¡ ó¸®ÇÏÁö ¸øÇÏ´Â À¥»çÀÌÆ®¿¡¼­ ÃÊ´ç 12°³¾¿
HIT°¡ µé¾î¿Â´Ù¸é, ÃÊ´ç 2°³¾¿ Å¥À×Çö»óÀÌ ÀϾ °ÍÀ̸ç, 10ÃÊÀ̸é 2*10=20 °³ÀÇ ¼­ºñ½º°¡
ÀÀ´äÀ» ¹ÞÁö ¸øÇϰí Å¥À×µÉ °ÍÀ̸ç, ºÒ°ú 1ºÐÀ̸é 2*60 = 120 °³ÀÇ ¼­ºñ½º°¡ Å¥À×µÉ
°ÍÀÔ´Ï´Ù. ÀÌ´Â Àå¾ÖÇö»ó, Áï hangÇö»ó¿¡ Á÷¸éÇϰí ÀÖ´Ù´Â Àǹ̰¡ µË´Ï´Ù.

(¸¹Àº ºÐµéÀÌ, ÃæºÐÈ÷ ³ôÀº ±ò´ë±â´Â ¹öÆÛ¸µÈ¿°ú¸¦ º¼ ¼ö ÀÖ°í, µû¶ó¼­, ¹öÆÛ°¡ Ŭ ¼ö·Ï
ÁÁÀº °ÍÀÌ ¾Æ´Ï³Ä´Â »ý°¢À» Çϰí ÀÖÀ» °Ì´Ï´Ù. ÀÌ °¡Á¤Àº ¼öµµ²ÀÁöÀÇ ¹°ÀÌ ³ª¿À´Â
¼Óµµ°¡ °¡º¯ÀûÀÏ ¼ö ÀÖ´Ù´Â °Í, ±×·¡¼­ °úµµÇÒ ¶© ºñÃàÇØ µÎ¾ú´Ù°¡(Queuing) Àû°Ô ³ª¿Ã ¶§
¸ð¾ÆµÐ ¹°À» Èê·¯³»¸®°Ô Çϰڴٴ °ÍÀ̰ÚÁö¸¸, ¾î·µç ÃæºÐÈ÷ ±ä ÀÏÁ¤´ÜÀ§½Ã°£´ç ¼öµµ²ÀÁöÀÇ
¹æÃâ ¼Óµµ°¡ ±ò´ë±âÀÇ Èê·¯³»´Â ¼Óµµ¸¦ ÀüüÀûÀ¸·Î´Â ³Ñ¾î¼­Áö ¸»¾Æ¾ß ÇÑ´Ù´Â ºÎºÐ¿¡¼­´Â
µ¿ÀÏÇÑ Á¦ÇÑÀ» ¹Þ½À´Ï´Ù. ¶ÇÇÑ, ±ò´ë±âÀÇ ¿¹°¡ ¾Æ´Ï¶ó, À¥±â¹Ý½Ã½ºÅÛ¿¡¼­ÀÇ ½ÇÁúÀûÀÎ
ºÎÇÏ·®(workload)ÀÇ Æ¯Â¡Àº, µ¿½Ã´Ü¸»»ç¿ëÀÚ°¡ ¸¹Àº ½Ã½ºÅÛÀÏ ¼ö·Ï, ƯÁ¤½Ã°£ ±Ù¹æ¿¡¼­´Â
Ç×»ó ÀÏÁ¤ÇÑ HTTP arrival rate ÀÌ ¹ß»ýÇÕ´Ï´Ù.)

±× "ÃæºÐÇÑ ³ôÀÌ"¶õ °ÍÀº, ±ò´ë±âÀÇ ¿ë·®°ú Ư¼º¿¡ µû¶ó Ç×»ó ´Ù¸£°ÚÁö¿ä? ¸¶Âù°¡Áö·Î
À¥»çÀÌÆ® ¸¶´Ù Ç×»ó ¼­·Î ´Þ¶óÁú ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.

PS: ´ëºÎºÐÀÇ À¥»çÀÌÆ®¿¡¼­ 100 - 300 À̶ó´Â ¼öÄ¡¸¦ ¹«Á¶°Ç ¸ÂÃß´Â °æÇâÀÌ ÀÖÀ¸³ª, ÀÌ´Â
°æÇè»ó(!) ´ëºÎºÐ ÅξøÀÌ ºÒÇÊ¿äÇÏ°Ô ³ôÀº ¼öÄ¡ÀÔ´Ï´Ù. ¾Æ¸¶µµ ¼º´É»óÀÇ À̽´·Î ÀÎÇØ
Àå¾Ö°¡ ¹ß»ýÇÏ´Â »çÀÌÆ®¿¡¼­´Â ÀÌ¹Ì 50ÀÌ»óÀ» ³Ñ¾î¼­¸é ¼ø½Ä°£¿¡ 300±îÁö Â÷°í ¿Ã¶ó°¡´Â
Çö»óÀ» ¸ñ°ÝÇϰí ÀÖÀ» °ÍÀÔ´Ï´Ù. "50º¸ 100º¸"¶ó´Â ¾ê±âÁö¿ä. ÀÌ »óȲÀº Ưº°ÇÑ Á¶Ä¡°¡
¾ø´ÂÇÑ Àý´ë º¹±¸ µÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. (NOTE: ¾ð±ÞÇÑ ¼öÄ¡´Â ¿¹ÀÏ »ÓÀÔ´Ï´Ù.)


--------------------
2002.06.04 ÷¾ð


ÀÚ¼¼ÇÑ ¼³¸íÀº ÇâÈÄ ´Ù½Ã ÇÒ ±âȸ°¡ ÀÖÀ» °ÍÀ¸·Î »ý°¢ÇÕ´Ï´Ù.

================================================
  ÀÚ¹Ù¼­ºñ½º³Ý ÀÌ¿ø¿µ
  E-mail: javaservice@hanmail.net
  PCS:011-898-7904
================================================

Download formula.jpg (28286 Bytes) formula.jpg (28286 Bytes)
Á¦¸ñ : Re: ¼º´ÉÀÌ·Ð, ¿Ö CPU»ç¿ë·üÀÌ ³ôÁö ¾ÊÀº°¡?
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2002/08/22 02:56:10 Á¶È¸¼ö:1693 ÁÙ¼ö:82
À¥¾îÇø®ÄÉÀ̼Ǽ­¹öÀÇ ¼º´ÉÀå¾Ö À¯Çü Áß, ¿Ö ´ë´Ù¼ö°¡ CPU»ç¿ë·üÀÌ ³ôÁö ¾ÊÀº°¡?

À¥¾îÇø®ÄÉÀ̼Ǽ­¹ö ±â¹Ý ÇÏ¿¡¼­ ¿î¿µµÇ°í ÀÖ´Â ±¹³» ½Ã½ºÅÛ Àå¾ÖÁø´ÜÀ» °æÇèÇÏ´Ùº¸¸é,
CPU »ç¿ë·üÀÌ 100%¿¡ ´Ù´Ù¸£¸é¼­ Àå¾Ö°¡ ¹ß»ýÇÏ´Â °æ¿ì´Â ±ØÈ÷ µå¹´´Ï´Ù.

CPU»ç¿ë·üÀÌ 100%¿¡ À̸£¸é¼­ Àå¾Ö°¡ ÀϾ´Â »óȲÀº ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº °æ¿ì°¡
ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.

1) ¸ðµç ÀÀ¿ë¾îÇø®ÄÉÀ̼ǵéÀÌ ¸Å¿ì Àß Æ©´×µÇ¾î ÀÖ´Â(fine-tuned) »óȲ¿¡¼­, µ¿½Ã´Ü¸»
»ç¿ëÀÚ¼ö Áõ°¡·Î ÀÎÇÑ (»ó´ëÀû) ºÎÇÏÁõ°¡(Arrival rate workload increasing)Çö»óÀÌ
ÀϾ°í, °á±¹ CPU bottleneckÀ¸·Î ÀÎÇØ ¼º´ÉÀúÇÏ ¹× ÀÀ´äÁö¿¬Çö»óÀÌ ¹ß»ýÇÏ´Â °æ¿ì
ÀÔ´Ï´Ù.

2) ƯÁ¤ ÀÀ¿ë¾îÇø®ÄÉÀÌ¼Ç Çϳª°¡ CPU bounded-jobÀ̰í, ÀÌ·¯ÇÑ batch¼º¿¡ °¡±î¿î
jobÀÌ OLPTȯ°æ¿¡¼­ Ä¡°í µé¾î¿Ã(?) °æ¿ì, CPU »ç¿ë·üÀÌ ±ÞÁ¤ÇÏ¿©, °á±¹ ±×µ¿¾È Àß
¿î¿µµÇ´ø ÀÀ¿ë¾îÇø®ÄÉÀÌ¼Çµé ¸¶Àú Á¦ ±â´ÉÀ» ¼öÇàÇÏÁö ¸øÇÏ´Â °æ¿ìµµ ÀÖÀ» ¼ö ÀÖ¾ú
½À´Ï´Ù.

3) Backend Legacy ¿¬µ¿À» À§ÇØ Çѱۺ¯È¯À̳ª, µ¥ÀÌŸ º¯È¯°úÁ¤¿¡¼­ ÇØ´ç ÆÐŰÁö Äڵ尡
ÃÖÀûÀÇ ¹æ¹ýÀ¸·Î Optimizing µÇ¾î ÀÖÁö ¾Ê¾Æ, »ó´ëÀûÀ¸·Î ºÒÇÊ¿äÇÑ CPU Á¡À¯¸¦ °¡Á®¿À´Â
°æ¿ìµµ ÀÖ¾ú½À´Ï´Ù.

4) ¿¹¿ÜÀûÀÎ °æ¿ì±â´Â ÇÕ´Ï´Ù¸¸, ÀÏÁ¾ÀÇ ¾î¶² ÀÀ¿ë¾îÇø®ÄÉÀ̼ǹö±×·Î ÀÎÇØ, °£´ÜÇÑ
blockÀÇ ¹«ÇÑ·çÇÁ Çö»ó¿¡ ºüÁö°Ô µÇ¾î CPU 100% Çö»óÀÌ ÀϾ´Â °æ¿ìµµ ÀÖ¾ú½À´Ï´Ù.

±×·¯³ª, À¥¾îÇø®ÄÉÀ̼Ǽ­¹ö(Web Applicaiton Server) ±â¹ÝÀÇ EJB/Servlet/JSP µî°ú °°Àº
JAVA¾ð¾î·Î ±¸ÇöµÈ ÃÖ±Ù ½Ã½ºÅÛÀÇ °æ¿ì´Â, À¥¾îÇø®ÄÉÀ̼Ǽ­¹ö´Â process-based·Î µ¿ÀÛ
ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, (ÀϹÝÀûÀ¸·Î) ÇϳªÀÇ process¿¡¼­ ´Ù¼öÀÇ Multi-thread·Î µ¿ÀÛÇϰÔ
µË´Ï´Ù. ¶ÇÇÑ, Java¾ð¾î¿¡¼­´Â semapore¿Í °°Àº thread locking ±â¹ýÀÌ ¸Å¿ì °£´ÜÇϰÔ
±¸ÇöÇÒ ¼ö Àֱ⠶§¹®¿¡, C/C++ ¾ð¾î¿¡¼­ÀÇ Multi-thread ÄÚµù ±â¹ý°ú °°ÀÌ (»ó´ëÀûÀ¸·Î)
Àü¹®ÀûÀÎ ±â¼úÀ» °¡Áø °³¹ßÀÚÀÇ ÀÏÁ¤´É·ÂÀ» ¿ä±¸ÇÏÁø ¾Ê½À´Ï´Ù. ±×·¯´Ù º¸´Ï »ó´ëÀûÀ¸·Î
Java¿¡¼­ÀÇ Multi-thread ±¸Çö»ó¿¡ À־, ¼º´ÉÀ» °í·ÁÄ¡ ¾ÊÀº ÀÚ¹Ù¼Ò½º°¡ ¾ç»êµÇ´Â
°æÇâÀÌ ÀÖ½À´Ï´Ù.

±¹³» ¼ö½Ê±ºµ¥¿¡¼­ÀÇ À¥±â¹Ý ½Ã½ºÅÛ Àå¾ÖÁø´Ü °æÇè¿¡ ºñÃß¾î º¸¾ÒÀ» ¶§, ÀÀ´äÀÌ ±Þ°ÝÈ÷
´À·ÁÁö´Â "¼­ºñ½ºÅ¥À×/HangÇö»ó"ÀÌ ¹ß»ýÇÒ ´ç½ÃÀÇ ½Ã½ºÅÛÀÇ »óȲÀ» º¸¸é, »ç·ÊÀÇ 90%ÀÌ»óÀÌ
ÀüºÎ CPU»ç¿ë·üÀº ±×¸® ³ôÁö ¾Ê½À´Ï´Ù. ¿ÀÈ÷·Á, Àå¾Ö¾øÀÌ Àß ¿î¿µµÉ ¶§°¡ ´õ¿í CPU»ç¿ë·üÀÌ
³ô½À´Ï´Ù.

¾îÇø®ÄÉÀÌ¼Ç ¸®¼Ò½º bottleneckÀ̶ó´Â ¾ê±âÁö¿ä. ¸¶Ä¡ DB lock ÀÌ ¹ß»ýÇϸé, ¸ðµç ¿äûÀÌ
Å¥¿¡ ´ë±âÇÏ°Ô µÇ°í, °á±¹ ½ÇÁ¦ processing Çϰí ÀÖ´Â ¼­ºñ½º JobÀÇ °³¼ö´Â ¸¹Áö ¾ÊÀ¸´Ï CPU
»ç¿ë·üÀº ¿ÀÈ÷·Á ³·À» ¼ö ¹Û¿¡ ¾ø´Ù´Â °ÍÀ» ¿¹·Î µé ¼ö ÀÖ½À´Ï´Ù.

ÀÀ¿ë¾îÇø®ÄÉÀÌ¼Ç ³»¿¡ Á¸ÀçÇÏ´Â synchronized Ű¿öµå¸¦ ³²¹ßÇÏ´Â °æ¿ìµµ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.
¼º´ÉÀûÀÎ Ãø¸é¿¡¼­ ´Ù¾çÇÑ °æÇèÀÌ ÀÖ´Â °³¹ßÀÚÀÇ Á¶¾ðÀÌ ¹Ýµå½Ã ÇÊ¿äÇÑ ºÎºÐÀÎ °ÍÀÌÁö¿ä. 

¶ÇÇÑ, HOSTÀÇ CICS Æ®·»Á§¼ÇÀ» »ç¿ëÇϱâ À§ÇØ CTG(CICS Transaction Gateway) API¸¦ ÀÌ¿ëÇÏ¿©
Á¢±ÙÇÏ°Ô µÇ´Âµ¥, ÀÌ ºÎºÐ¿¡ ´ëÇÑ JavaÃøÀÇ ÄÚµùÀÌ ¼º´ÉÀ» °í·ÁÇÏ¿© smartÇÏ°Ô µÇ¾î ÀÖÁö
¾ÊÀ» °æ¿ì, À¯»çÇÑ »óȲ¿¡ Á÷¸éÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿ï»ê ¸ð °í°´»çÀÇ °æ¿ì¸¦ ´ëÇ¥ÀûÀÎ ¿¹·Î
µé¼ö ÀÖ½À´Ï´Ù. CTG APIÁß ½ÇÁúÀûÀÎ communication À» ´ã´çÇϰí ÀÖ´Â JavaGateway ÀνºÅϽº¸¦
¼­·Î ´Ù¸¥ ¿äû¿¡ ´ëÇØ °øÀ¯Çϰí Àִٰųª, ȤÀº JavaGateway¸¦ ÅëÇÑ Åë½Å»óÀÇ ¼º´ÉÇâ»óÀ»
À§ÇØ JavaGateway Pool¸¦ »ç¿ëÇϰí ÀÖÀ» ¼öµµ Àִµ¥, ÀÌ ¿ª½Ã, Multu-threadȯ°æ¿¡ Àͼ÷ÇÑ
°³¹ßÀÚ¿¡ ÀÇÇØ °ËÁõµÇ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù.

°Åµì °­Á¶ÇÏÁö¸¸, °æÇèÀûÀ¸·Î, ¼º´É»óÀÇ ÀÌÀ¯·Î Àå¾Ö»óȲÀÌ ¹ß»ýÇϸé CPU»çÀ²·üÀº ³ôÁö
¾Ê´Â °ÍÀÌ ÀϹÝÀûÀÎ Çö»óÀÔ´Ï´Ù. CPU 100%°¡ ¿Ã¶ó°¡¸é¼­ Àå¾Ö°¡ ÀϾ´Â °æ¿ì´Â ¿ÀÈ÷·Á
¸Å¿ì °í¹«ÀûÀÎ »óȲÀ̸ç CPU¸¸ Ãß°¡Çϸé ÇØ°áµÇ´Â ¹®Á¦À̱⵵ ÇÕ´Ï´Ù. ±×·¯³ª, ÀÌ·± °æ¿ì´Â
¾Æ½±°Ôµµ ±ØÈ÷ µå¹®Çö»óÀÔ´Ï´Ù. 
ÀÌ·¯ÇÑ Çö»óÀ» C/S ½Ã½ºÅÛÀÇ Àå¾ÖÇØ°á¿¡ Àͼ÷ÇÑ ºÐµéÀº ½±°Ô ¹Þ¾ÆµéÀÌÁö ¾ÊÀ¸½Ã´õ±º¿ä.
Client/Serverȯ°æ¿¡¼­´Â ´ëºÎºÐÀÌ process ±â¹ÝÀÇ ÇÁ·Î±×·¥µéÀÌ ´ëºÎºÐÀ̾ú°í, »ç¿ëÀÚ
Áõ°¡´Â °ð¹Ù·Î µ¶¸³µÈ processÀÇ CPU»ç¿ëÁõ°¡¸¦ °¡Á®¿Ô±â ¶§¹®¿¡, »ó´ëÀûÀ¸·Î C/Sȯ°æ¿¡¼­´Â
CPU bottleneck¿¡ ÀÇÇÑ Çö»óÀÌ ´ëÇ¥ÀûÀ̾úÀ» °ÍÀÔ´Ï´Ù.

¹«¾ùº¸´Ù Áß¿äÇÑ °ÍÀº, ¾÷¹«ÀûÂ÷¿ø¿¡¼­ ÃßÁ¤ÇÒ ¼ö ÀÖ´Â ÃÖ´ë µ¿½Ã´Ü¸»»ç¿ëÀÚ¼ö¿Í ÃÖ±Ù
¸çÄ¥µ¿¾È (ºñ·Ï Àå¾Ö»óȲ¿¡ Á÷¸éÇÏ¿´Áö¸¸) ¸ð´ÏÅ͸µµÈ À¥·Î±×ºÐ¼®À» ±â¹ÝÀ¸·Î ½ÇÁ¦ ¹ß»ý
Çϰí ÀÖ´Â ºÎÇÏ·®(workload)¸¦ ÃøÁ¤ÇÏ°í ¸ðµ¨¸µÇÏ¿© ¼º´ÉÅ×½ºÆ®(BenchmarkTest)¸¦ 
½ÃÇàÇϰí, Á¾ÇÕÀûÀÎ °üÁ¡¿¡¼­ÀÇ ¼º´ÉÁø´ÜÀÛ¾÷ÀÌ ¹Ýµå½Ã ÇÊ¿äÇÕ´Ï´Ù.

PS: ÀÏ·ÃÀÇ °æÇèÀ» ÅëÇØ ±ú´Ý°Ô µÈ »ç½ÇÀº, ºÎÇÏ·®/¼º´É¸ðµ¨¸µ °üÁ¡¿¡¼­ÀÇ CPUÀÚ¿øÀº
N/W¿ë·®À̳ª WorkerThreadÀÇ °³¼ö ȤÀº Disk I/O, Backend System Connectivity ȤÀº
ÀÀ¿ë¾îÇø®ÄÉÀ̼ÇÀÇ Over Locking(°úµµÇÑ synchronization ȤÀº Transaction Lock) µî°ú
¸¶Âù°¡Áö·Î, BottleneckÀ» À¯¹ßÇÏ´Â ÇϳªÀÇ Å¥(Queue)ÀÏ »ÓÀ̶ó´Â °ÍÀÔ´Ï´Ù. n°³ÀÇ ¼­·Î
´Ù¸¥ ÀÀ¿ë¾îÇø®ÄÉÀ̼ǵ鿡 ´ëÇÑ ¼­·Î ´Ù¸¥ È£Ãâºóµµ(arrival rate)¿Í °¢ ÀÀ¿ë
¾îÇø®ÄÉÀ̼ǵéÀÇ ÃÖ´ë ThroughputµéÀ» nÂ÷¿ø À¯Å¬¸®µå°ø°£»ó¿¡¼­ Ç¥ÇöÇßÀ» ¶§, º´¸ñÀ»
À¯¹ßÇÏ´Â ´Ù¼öÀÇ Å¥(Multiple Queue)µé¿¡ ÀÇÇÑ ÀӰ輺´ÉÆò¸é(°¡Äª)ÀÌ °áÁ¤µÇ°í, ÀÌ·¯ÇÑ
°¢ Æò¸éÀÌ ¸¸³ª ÀÏ·ÃÀÇ º´¸ñ°æ°è¸éÀ» Çü¼ºÇÏ°Ô µÈ´Ù´Â [´ÙÁߺ´¸ñÀÓ°è¸éÀÌ·Ð(°¡Äª)]À», 
Å¥À×ÀÌ·Ð(Queuing Theory)¸¦ ÀÀ¿ëÇÏ¿© °í¹ÎÇÏ´Â ÁßÀε¥, ÀÌ·¯ÇÑ °üÁ¡¿¡¼­ º¸¸é, CPU¿¡
ÀÇÇÑ º´¸ñÀº ÃÖ±ÙÀÇ J2EE±â¹ÝÀÇ À¥¾îÇø®ÄÉÀ̼Ǽ­¹ö ȯ°æÇÏ¿¡¼­´Â »ó´ëÀûÀ¸·Î Àß µµÃâµÇÁö
¾Ê½À´Ï´Ù. CPU°¡ º´¸ñÀ¸·Î ³ªÅ¸³ª±â ÀÌÀü¿¡, ´Ù¸¥ º´¸ñÀÓ°èÆò¸é°ú ¸ÕÀú Á÷¸éÇϱâ
¶§¹®ÀÔ´Ï´Ù.

ÀÚ¹Ù¼­ºñ½º³Ý ÀÌ¿ø¿µ
Á¦¸ñ : Re: Synchronized ºí·° ¼º´ÉÀÇ ¼öÄ¡Àû ÇØ¼®
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2002/09/16 06:57:20 Á¶È¸¼ö:1857 ÁÙ¼ö:188
> Á¦¸ñ: ¾È³çÇϽʴϱî? °¨È÷ Áú¹®ÀÌ ÀÖ¾î ¿©Âã´Ï´Ù. 
> º¸³½³¯Â¥  2002³â 09¿ù 10ÀÏ È­¿äÀÏ, »õº® 03½Ã 21ºÐ 08ÃÊ +0900  
> º¸³½ÀÌ  "ByoungOkLee" <leebyoungok@hotmail.com>
> ¹Þ´ÂÀÌ  <javaservice@hanmail.net>  
> 
> ¾È³çÇϽʴϱî?
> JavaServerNet¿¡¼­ ¸¹Àº ÀڷḦ ¾ò¾î¸é¼­ °úÀå´ÔÀÇ Ã¼°èÀûÀÌ°í Æø³ÐÀº Áö½Ä¿¡ °¨ÅºÀ»
> ±ÝÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. ....(»ý·«)....ÀÌÁö ½Ã½ºÅÛ¿¡ ´Ù´Ï°í ÀÖ´Â À̺´¿Á À̶ó°í ÇÕ´Ï´Ù.
> ...(»ý·«).... Á¦ ªÀº ¼Ò°ß¿¡ ´ëÇÑ ÆòÀ» µè°í ½Í¾î ÀÌ·¸°Ô ºÒ¾¦ ¸ÞÀÏÀ» ¿©Âã´Ï´Ù.
>  
> °³ÀÎÀûÀ¸·Î JT400ÀÇ AS400 ConnectionÀ» ÀÌ¿ëÇÑ PoolÀ» ¼³°èÇÏ°í ¶Ç »ç¿ëÇϰí Àִµ¥,
> ÇѰ¡Áö µô·¹¸¶°¡ »ý±é´Ï´Ù. ÀϹÝÀûÀ¸·Î Pool·Î ºÎÅÍ ÀÚ¿øÀ» È®º¸ÇÏ´Â ¸Þ¼Òµå¿¡
> synchronized¸¦ °É¾î Á÷·ÄÈ­¸¦ ½Ã۴µ¥, ÀÌ·¸°Ô ÇßÀ»°æ¿ì Dead Lock Çö»óµµ ¹ß»ýÇÏÁö
> ¾Ê°í ÁÁ¾Æ º¸ÀÌÁö¸¸, AK Tool °°Àº ½ºÆ®·¹½º Åø·Î µ¿½Ã¿¡ ´Ù¼ö°³ÀÇ Thread¸¦ ¹ß»ý½Ãų
> °æ¿ì °¢°¢ÀÇ Thread°¡ ÀÚ¿øÈ®º¸¸¦ À§ÇØ Pool¿¡ ¿Í¼­ ÇÑÁÙ·Î ´Ã¾î¼­°Ô µÇ´Â Çö»óÀÌ ¹ß»ý
> ÇÒ ÁÙ·Î ÆÇ´ÜµË´Ï´Ù.
> ½ÇÁ¦ AS400 ConnectionÀ¸·Î RPG¸¦ È£ÃâÇϴµ¥ PoolÀ» ÀÌ¿ëÇßÀ»°æ¿ì ÀÚ¿øÈ¹µæÀ» À§ÇØ
> AK Tool¿¡¼­ ¹ß»ý½ÃŲ Thread°¡ Á÷·ÄÈ­ µÇ´Â Çö»óÀ» º¸¿© ¿ÀÈ÷·Á Àüü Response TimeÀÌ
> ´À·ÁÁö´Â Çö»óÀ» °Þ¾ú½À´Ï´Ù. ¶ÇÇÑ RPGÀÇ Response TimeÀÌ ¿ö³« »¡¶ó ½ºÆ®·¹½º¸¦ ¾Æ¹«¸®
> ¸¹ÀÌ Á൵ Pool¿¡¼­ 2~3°³ÀÇ ÀÚ¿ø¸¸À¸·Î 󸮰¡ ÀÌ·ç¾î Áý´Ï´Ù.
> ½ÇÁ¦ º¸´Ù ¸¹Àº ´ÙÁß Thread·Î 󸮵ǾúÀ» °æ¿ì ÈξÀ »¡¸® 󸮰¡ °¡´ÉÇϳª Á÷·ÄÈ­·Î
> ÀÎÇÏ¿© ÇÇÇØ¸¦ º¸´Â ¼ÀÀÌ µÇ´Â °ÍÀÌÁÒ.
>  
> PoolÀÇ ÀåÁ¡ÀÎ ÀÚ¿ø Àç»ç¿ëÀ» ÇÑ´Ù°í´Â ÇÏÁö¸¸, ÀÌ·¯ÇÑ »óȲ¿¡¼­ ½ºÆ®·¹½º Å×½ºÆ®°¡
> Àǹ̰¡ Àִ°ÍÀÎÁö°¡ ±Ã±ÝÇÕ´Ï´Ù. 
> 
> ¾Æ¿ï·¯ Web Sphere°°Àº WAS °è¿­¿¡¼­´Â ÀÌ·¯ÇÑ ¹®Á¦Á¡ÀÇ ÇØ°áÃ¥À¸·Î ¾î¶² ¹æ¾ÈÀ»
> ÀϹÝÀûÀ¸·Î ÃëÇÏ´ÂÁöµµ ±Ã±ÝÇÕ´Ï´Ù. °³ÀÎÀûÀ¸·Î PoolÀÇ °³¼ö¸¦ º¹¼ö°³·Î ¿î¿µÇÏ¿©
> Multi Thread¿¡ °¡º¯ÀûÀ¸·Î ´ëÀÀÇÏ´Â ¹æ¹ýÀº ¾î¶³Áöµµ °í¹ÎÁßÀÔ´Ï´Ù.
>  
> ´©±¸º¸´Ù ¹Ù»Ú½ÅÁÙ ¾ËÁö¸¸, °úÀå´Ô ½Ã°£ÀÌ Çã¶ôÇÏ½Å´Ù¸é °úÀå´ÔÀÇ ¼Ò°ßÀ» µè°í ½Í½À´Ï´Ù.
> 
> ÀÌÁö½Ã½ºÅÛ À̺´¿Á µå¸². 
 

===============================================================================

¸¹Àº »ç¶÷µéÀÌ À߸ø »ý°¢Çϰí ÀÖ´Â ºÎºÐÀÌ Connection PoolÀÇ getInstance(),
getPooledObject() ·ùÀÇ ¸Þ¼Òµå°¡ synchronized µÇ¾î Àֱ⠶§¹®¿¡, ÇѼø°£¿¡ Çϳª¾¿
󸮵Ǿî ÀüüÀûÀ¸·Î "¼º´É"ÀÌ ¶³¾îÁø´Ù°í ½±°Ô ´ÜÁ¤ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

synchronized ´Â ÇÊ¿äÇÒ ¶§ ÀûÀýÈ÷, "¹Ýµå½Ã" »ç¿ëµÇ¾î¾ß¸¸ ÇÏ´Â °ÍÀÔ´Ï´Ù.

"¾Æ¹«¸® ºÎÇϸ¦ Á־, RPG´Â 2-3 °³ ¹Û¿¡ runningÇϰí ÀÖÁö ¾Ê´Ù"´Â °ÍÀº ¸¹Àº °ÍÀ»
½Ã»çÇϰí ÀÖ½À´Ï´Ù. ºÐ¸í RPG È£Ãâ·Î ÀÎÇÑ backend ¼­ºñ½º´Â ÇöÀçÀÇ ¼º´ÉÀúÇϿʹÂ
´Ù¼Ò °Å¸®°¡ ÀÖ´Ù´Â °ÍÀº ºÐ¸íÇÕ´Ï´Ù. ±×·¸´Ù¸é ¾îµðÀÏ °ÍÀΰ¡¸¦ ã¾Æ¾ß Çϴµ¥, ±× ÇÑ
¿¹·Î½á, Pool¿¡¼­ Pooled Object¸¦ ²¨³»¿À´Â synchronized getPooledObject()·ùÀÇ
¸Þ¼Òµå¸¦ ÀǽÉÇØ º¸´Â °ÍÀº ÀÚ¿¬½º·´±â´Â ÇÕ´Ï´Ù. ÇØ´ç ºí·°ÀÇ ±¸ÇöÀ» ¾ó¸¶³ª °£°áÇϰí
ÇÙ½ÉÀûÀ¸·Î ÄÚµùÇÏ¿´´À³Ä°¡ °ü°ÇÀÌÁö¿ä.

Ãֱ٠ã¾Æ³½ ¼ö½ÄÀ» Á¦ ¸Ó¸®¼Ó¿¡¸¸ °£Á÷Çϰí ÀÖ´Ù°¡, Àú ¾Æ´Ñ ´Ù¸¥ ºÐ¿¡°Ô´Â ¿À´Ã
óÀ½À¸·Î ¸îÀÚ Àû¾îº¾´Ï´Ù.

synchronzied block S °¡ ÀÖÀ» ¶§, ÇØ´ç ±¸°£¿¡ ´ëÇÑ ´ÜÀÏ¿äû¿¡ µû¸¥ ÀÀ´ä¼Óµµ(Elapsed
Time)°¡ s (sec)¶ó°í ÇßÀ» ¶§, ÇØ´ç ±¸°£¿¡ ´ëÇÑ ÃÖ´ë ThroughputÀº 1/s (request/sec)°¡
µÊÀ» ½±°Ô Ãß·ÐÇÒ ¼ö ÀÖ½À´Ï´Ù.
synchronized µÇ¾î ÀÖÀ¸¹Ç·Î, ÇØ´ç ±¸°£ÀÇ ¼Ò¿ä½Ã°£ÀÌ 1 ms ¶ó¸é ÇØ´ç ±¸°£À¸·Î ÀÎÇÑ
ThroughputÀº ÃÖ´ë 1000 tps°¡ µÉ °ÍÀ̰í, ÇØ´ç ±¸°£¿¡¼­ 100 ms°¡ Àý´ëÀûÀ¸·Î ¼Ò¿äµÈ´Ù¸é
ÃÖ´ë 10 tps°¡ µÉ ¼ö ÀÖ°ÚÁö¿ä.

¹Ý¸é, synchronized°¡ °É·ÁÀÖÁö ¾ÊÀº Àû¾îµµ 1/s (request/sec)º¸´Ù´Â Ŭ °ÍÀÔ´Ï´Ù. ÀÌ´Â
ÇØ´ç blockÀÇ bottleneckÀ¸·Î ÀÛ¿ëÇÏ´Â resource¿¡ µû¶ó ´Þ¶óÁö´Â °ÍÀÌÁö¿ä. bottleneckÀ¸·Î
ÀÛ¿ëÇÏ´Â resource¶ó´Â °ÍÀº CPU,Backend Service(RPGó·³), Worker-ThreadÀÇ °³¼ö,
PoolÀÇ ÃÖ´ë°³¼ö, ÀÀ¿ë¾îÇø®ÄÉÀ̼ÇÀÇ over-locking ±¸°£ µîµîÀÌ ¸ðµÎ BottleneckÀÇ
¿øÀÎÀÏ ¼ö ÀÖÀ¸¸ç, À̸¦ Å¥À×ÀÌ·Ð °üÁ¡¿¡¼­ º¸¸é ¸ðµÎ ÇѰè(boundary)¸¦ °®°í ÀÖ´Â
"One of Queue"¶ó´Â °ÍÀÔ´Ï´Ù.

ÇÁ·Î±×·¡¹Ö ¼Ò½º ºí·° A ¹× B ±¸°£ÀÌ ÀÖ´Ù°í °¡Á¤Çϰí,°¢ ºí·°A, B ±¸°£ÀÇ °¢°¢ÀÇ ´ÜÀ§½Ã°£´ç
ÃÖ´ë󸮰ǼöÀÎ ÃÖ´ë ThroughputÀÌ °¢°¢ 10 tps, 20 tps(transaction per second)¶ó°í
ÇսôÙ. ¸¸¾à, ºí·° A,B±¸°£À» °°Àº ¼Ò½º¿¡ ¼øÂ÷ÀûÀ¸·Î ³Ö°í ÃÖ´ë ThroughputÀ» ÃøÁ¤Çϸé
ÃÖ´ë·Î ¾ó¸¶°¡ ³ª¿Ã±î¿ä?

case 1 : 10 tps
----------------
 program block A 
----------------

case 2: 20 tps
----------------
 program block B
----------------

case 3: ? tps
----------------
 program block A 
 program block B
----------------

´äÀº ,

     1         10*20
----------- = -------  = 6.6666 tps °¡ µË´Ï´Ù.
  1     1     10 + 20  
 --- + ---
 10    20

´ÙÀ½°ú °°Àº °ø½ÄÀÔ´Ï´Ù.
                                    1       
(Throughput of block A & B)  = -----------
                                 1     1     
                                --- + ---
                                 a     b

(À§ ¼ö½ÄÀº, Â÷ÈÄ¿¡ ´Ù½Ã ÀÚ¼¼È÷ Áõ¸íÇÒ ±âȸ°¡ ÀÖÀ» °Ì´Ï´Ù.)

A±¸°£ÀÌ ÃÖ´ë 10 tps¿´À¸´Ï, ·ÎÁ÷B°¡ Ãß°¡µÇ¸é Àüü´Â ÃÖ¼ÒÇÑ 10tpsº¸´Ù´Â ÀÛÀ» °ÍÀ̰í,
¸¶Âù°¡Áö·Î ±¸°£BÀÇ ÃÖ´ë tpsÀÎ 20 tpsº¸´Ùµµ ÀÛÀ» °ÍÀÔ´Ï´Ù.

¸¸¾à, ƯÁ¤ ±¸°£ BÀÇ Throughput b°¡ »ó´ëÀûÀ¸·Î A±¸°£ÀÇ Throughput a¿¡ ºñÇØ tps°¡
¾öû³ª°Ô Å©´Ù¸é, µÎ ±¸°£À» ÇÕÇÑ tps´Â ±¸°£AÀÇ  ÃÖ´ëTPS a¿¡ ¸Å¿ì °¡±î¿ï °ÍÀÔ´Ï´Ù.
¿Ö³Ä¸é, 1/b ¿¡¼­ b°ªÀÌ »ó´ëÀûÀ¸·Î 100, 1000, 10000 µî°ú °°Àº ¼öÄ¡ÀÏ °æ¿ì À§ ¼ö½ÄÀº
a ¿¡ °¡±î¿î ¼öÄ¡°¡ µÉ °ÍÀÌÀݽÀ´Ï±î?

¿¹) ±¸°£ A,B¿¡ ´ëÇÑ °¢°¢ÀÇ ThroughputÀÌ °¢°¢ 5 tps, 1000 tpsÀÏ ¶§, ±¸°£A,B¸¦
¼øÂ÷ÀûÀ¸·Î ÇϳªÀÇ ºí·°À¸·Î ¸¸µç´Ù¸é, ÃÖ´ë ¸î tps°¡ ³ª¿Ã ¼ö ÀÖÀ»±î¿ä? 
1 / {1/5 + 1/1000} = (5*1000)/(5+1000) = 4.975 tps

¹«½¼ ¾ê±â¸¦ ÇϰíÀÚ ÇÏ´Â °ÍÀ̳ĸé, ConnectionPool¿¡¼­ synchronized·Î µÇ¾î ÀÖ´Â
getInstance(), getPooledObject() ºÎºÐÀÇ throughputÀº (°æ¿ì¿¡ µû¶ó ´Ù¸£°ÚÁö¸¸)
ÀÀ¿ë¾îÇø®ÄÉÀ̼ÇÀÇ throughput¿¡ ºñÇØ »ó´ëÀûÀ¸·Î ¸Å¿ì Å« ¼öÄ¡ÀÔ´Ï´Ù. (»ó´ëÀûÀ¸·Î)
¸Å¿ì ªÀº ¼ø°£¸¸ ÇØ´ç ºÎºÐÀ» Ÿ´Â °ÍÀÌÁö¿ä. (»ç½Ç Áß¿äÇÑ °ÍÀº "±× ªÀº ¼ø°£"ÀÌ
¾ó¸¶³ª ªÀ¸³Ä°¡ Áß¿äÇÕ´Ï´Ù.  synchronizedµÈ ÇØ´ç ±¸°£ÀÇ ThroughputÀº 1/(±×ªÀº¼ø°£)
À̶ó´Â Àý´ëÀûÀÎ ThroughputÀ¸·Î ³ªÅ¸³ª±â ¶§¹®ÀÔ´Ï´Ù.)

µû¶ó¼­, synchronized ºí·°ÀÇ ThroughputÀÌ »ó´ëÀûÀ¸·Î ÀÀ¿ë¾îÇø®ÄÉÀ̼ÇÀÇ Throughputº¸´Ù
ÃæºÐÈ÷ Å©¸é, ÇØ´ç synchronized ºí·°À¸·Î ÀÎÇÑ ¼º´ÉÀúÇÏ´Â (»ó´ëÀûÀ¸·Î) ÀûÀ» ¼ö ÀÖ´Ù´Â
°ÍÀÔ´Ï´Ù. (PooledObject¸¦ Pool¿¡¼­ ²¨³»¿À´Â ºÎºÐÀº, ´ÜÁö °¡¿ëÇÑ Reference¸¦ ²¨³»¿À´Â
°ÍÀÌ ÀüºÎÀÏ °ÍÀ̸ç, ÇØ´ç ±¸°£ÀÇ ThroughputÀº "ÃæºÐÈ÷" ¹®Á¦½Ã µÇÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.)



PS: Áú¹®ÇϽŠºÐÀÇ »óȲÀº, º¸³»ÁֽŠ±Û¸¸À¸·Î´Â ÆÇ´ÜÇÒ ¼ö ¾ø½À´Ï´Ù.
¼Ò½º¸¦ ¿­¾îº¸°í, ¿¹»óµÇ´Â ¼º´ÉÀúÇϱ¸°£À» ¼³Á¤ÇÑ µÚ, ½ºÆ®·¹½ºÅ×½ºÆ®¸¦ ÅëÇØ ¾î´À
ºÎºÐ¿¡¼­ °¡Àå ¼º´ÉÀÌ ÀúÇϵǴ Áö¸¦ ã¾Æº¸¾Æ¾ß ÇÕ´Ï´Ù. ÇöÀç·Î¼­´Â getPooledObject()
±× ÀÚüÀÏ ¼öµµ ÀÖÀ¸³ª, ÀÏ´Ü ²¨³»¿Â µÚ, RPG¸¦ ½ÇÁ¦ È£ÃâÇϱâ Àü ÃʱâÈ­ ÀÛ¾÷À̳ª,
È£Ãâ ÀÌÈÄÀÇ µ¥ÀÌŸ ÆÄ½ÌÀ» À§ÇÑ ±¸°£ÀÏ °¡´É¼ºµµ ¹èÁ¦ÇÒ ¼ø ¾ø½À´Ï´Ù.
¼³·É getPooledObject() ºÎºÐ¿¡¼­ ¸¹Àº ½Ã°£ÀÌ ¼Ò¿äµÈ´Ù¸é, ±× ÀÚü°¡ ¹®Á¦°¡ ¾Æ´Ï¶ó,
ÀÀ¿ë¾îÇø®ÄÉÀ̼ÇÀÌ PooledObject¸¦ Pool¿¡¼­ ²¨³»°£ ÈÄ, ¿À·§µ¿¾È ÇØ´ç ÀÚ¿øÀ» »ç¿ëÇϱâ
¶§¹®ÀÏ ¼öµµ ÀÖ½À´Ï´Ù. ¹°·Ð, synchronized°¡ °É·Á ÀÖ´Â ºí·°¿¡¼­, ºÒÇÊ¿äÇÑ Àâ´ÙÇÑ 
ÀÛ¾÷À» ³Ö¾î compactÇÏÁö ¾ÊÀº ÄÚµùÀ» ÇßÀ» °¡´É¼ºÀ» ¹èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù. ÇØ´ç ºÎºÐÀº
Àû¾îµµ À§¿Í °°Àº ÀÌ·ÐÀû ÀÌÇØ¸¦ ¹ÙÅÁÀ¸·Î ÇØ´ç »çÀÌÆ®ÀÇ ºÎÇÏ·®°ú H/W¿ë·® ¹× S/WÀÇ
ThroughputÀ» °í·ÁÇÏ¿© ¼³°è->ÄÚµù->½ºÆ®·¹½ºÅ×½ºÆÃ->Æ©´× °úÁ¤À» °ÅÃÄ ¹Ýµå½Ã °ËÁõµÇ¾î¾ß
ÇÏ´Â °ÍÀº ´ç¿¬ÇÕ´Ï´Ù. Performance Analysis´Â "Á¾ÇÕ¿¹¼ú"ÀÌÀݽÀ´Ï±î.

-------------------
2004.05.13ÀÏ Ãß°¡

> ¾²·¹µå¸¦ ½ÃÀÛÇÒ¶§ÀÇ ¿À¹öÇìµå°¡ ¹Ì¸® »ý¼ºµÈ ¾²·¹µå°¡ ÀÛ¾÷À» ´ë±âÇϰí ÀÖÀ» ¶§
> ¹ß»ýÇÏ´Â ¿À¹öÇìµåº¸´Ù "±×¸® Å©Áö ¾Ê´Ù".

 "±×¸® Å©Áö ¾Ê´Ù"´Â ¿ë¾î´Â »ó´ëÀûÀ¸·Î ÇØ¼®ÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´Ù¼Ò ¹«°Å¿î
 ¾îÇø®ÄÉÀ̼ÇÀÌ ÀÖ°í, ÀÏÁ¤ ±Ô¸ðÀÇ H/W¿¡¼­ CPU 100% °¡¿ëµµ »óȲ¿¡¼­, Thread Pool·Î
 ±¸ÇöÇÑ °ÍÀÌ 1ÃÊ´ç 50 tps(transaction per second)¸¦ ¼º´ÉÀ» ó¸®ÇÏ´Â ¹Ý¸é, 
 ¸Å¹ø Thread¸¦ start() ½ÃŰ´Â ±¸Á¶ÀÇ °æ¿ì´Â 48 tps°¡ ³ª¿À´õ¶ó°í °¡Á¤ÇØ º¸°Ú½À´Ï´Ù.
 ÀÌ °æ¿ì, ¿ì¸®´Â "±×¸® Å©Áö ¾Ê´Ù"´Â ÆÇ´ÜÀ» ÇÒ ¼öµµ ÀÖ°Ú½À´Ï´Ù. 
 ¸¸¾à, ¾îÇø®ÄÉÀ̼ǷÎÁ÷ÀÌ À̹ø¿£ ¸Å¿ì °¡º­¿ö¼­, Thread pool·Î ±¸ÇöÇÑ ±¸Á¶ÀÇ °æ¿ì 
 Àڱ׸¶Ä¡ 1,000 tps°¡ ³ª¿Â´Ù¸é, ¸¸¾à À̸¦ ¸Å¹ø thread start() ½ÃŰ´Â ±¸Á¶·Î º¯°æÇßÀ»
 ¶§, ¸î tps·Î ¶³¾îÁú±î¿ä? ÀúÀÇ À̷п¡ ÀÇÇϸé, ÀÌ´Â 545 tps·Î ¶³¾îÁö°Ô µË´Ï´Ù.
 Áï, Ç×»ó »ó´ëÀûÀ¸·Î, ¾î¶°ÇÑ °æ¿ì¿¡ Å©´Ù/Å©Áö¾Ê´Ù¶ó´Â ´Ü¼­°¡ ºÙ°Ô µÈ´Ù´Â °ÍÀÌÁö¿ä.
 [Áõ¸í]
 x : thread poolÀ» ÀÌ¿ëÇÒ ¶§ÀÇ thread pooing ÀÚüÀÇ ¼º´É(tps)
 y : thread poolÀ» ÀÌ¿ëÇÏÁö ¾Ê°í, ¸Å¹ø thread.start() ½ÃŰ´Â ¹æ½ÄÀÇ ÇØ´ç ¼º´É(tps)
 A  : ÇØ´ç ¹«°Å¿î ¾îÇø®ÄÉÀÌ¼Ç ·ÎÁ÷ºÎºÐ¸¸ÀÇ ¼º´É
 B  : °¡º­¿î ¾îÇø®ÄÉÀÌ¼Ç ·ÎÁ÷ºÎºÐ¸¸ÀÇ ¼º´É

 ¿©±â¼­, ´ÙÀ½°ú °°Àº ½ÄÀÌ µµÃâµÊ.
   50 = 1/{1/x + 1/A}
   48 = 1/{1/y + 1/A}
 1000 = 1/{1/x + 1/B}

 ¿ì¸®°¡ ±¸ÇϰíÀÚ ÇÏ´Â °ÍÀº, 1/{1/y + 1/B}ÀÇ °ªÀÔ´Ï´Ù. 
 À§ ½Ä¿¡¼­, 1/a = a' À̶ó°í ÇÑ´Ù¸é,
   50 = 1/(x' + A') --> A' = 1/50 - x'
   48 = 1/(y' + A') --> y' = 1/48 - A' = 1/48 - {1/50 - x'}
 1000 = 1/(x' + B') --> B' = 1/1000 - x'

 µû¶ó¼­, 1/(y' + B') = 1/{ (1/48 - 1/50 + x') + (1/1000 - x')}
                     = 1/{ 1/48 - 1/50 + 1/1000 }
                     = 545.5 tps

-------------------------------------------------------  
  º» ¹®¼­´Â ÀÚÀ¯·Ó°Ô ¹èÆ÷/º¹»ç ÇÒ ¼ö ÀÖÀ¸³ª ¹Ýµå½Ã
  ÀÌ ¹®¼­ÀÇ ÀúÀÚ¿¡ ´ëÇÑ ¾ð±ÞÀ» »èÁ¦ÇÏ½Ã¸é ¾ÈµË´Ï´Ù
================================================
  ÀÚ¹Ù¼­ºñ½º³Ý ÀÌ¿ø¿µ
  E-mail: javaservice@hanmail.net
  PCS:011-898-7904
================================================

Download ThroughputFomula.jpg (33894 Bytes) ThroughputFomula.jpg (33894 Bytes)
Á¦¸ñ : Re: synchronized ºí·Ï ³» ·ÎÁ÷ ¼öÇà½Ã°£ÀÇ Á߿伺
±Û¾´ÀÌ: Â÷ÀÇÁß(prof21) 2002/09/18 15:10:31 Á¶È¸¼ö:1090 ÁÙ¼ö:46
ÆÛÆ÷¸Õ½º Æ©´× °ü·ÃÇÑ ¹®¼­¿¡¼­ Ç×»ó ¾ð±ÞÇϰí ÀÖ´Â °Í ÁßÀÇ Çϳª°¡ synchronized ÀÔ´Ï´Ù. 

synchronized ºí·ÏÀ¸·Î ½º·¹µå°¡ ÁøÀÔÇÒ ½Ã, ¸ð´ÏÅ͸¦ ȹµæÇϱâ À§ÇØ ¼Ò¿äµÇ´Â ½Ã°£µµ
ÀûÁö ¾Ê°Å´Ï¿Í ¹«¾ùº¸´Ùµµ ÇϳªÀÇ ½º·¹µå°¡ synchronized ºí·ÏÀ» ºüÁ®³ª¿À±â±îÁö ´Ù¸¥
½º·¹µå´Â ±× °÷¿¡¼­ ´ë±âÇØ¾ß Çϱ⠶§¹®ÀÌÁö¿ä.

ÀÌ Áß, ¸ð´ÏÅ͸¦ ¾ò±âÀ§ÇØ ¼Ò¿äµÇ´Â CPUÀÚ¿øÀº ¿äÁòÀÇ CPUÀÇ ºü¸£±â¸¦ °¨¾ÈÇϰí, ¶ÇÇÑ, 
ÀϹÝÀûÀÎ ½Ã½ºÅÛ ³»¿¡¼­ ÀϾ´Â ´Ù¸¥ ÀÛ¾÷,
¿¹¸¦ µé¾î, µ¥ÀÌÅÍÀÇ »ðÀÔ, ¼öÁ¤, °Ë»öµî°ú ºñ±³ÇÑ´Ù¸é ±×¾ß¸»·Î ¸Å¿ì ¹Ì¹ÌÇÏ¿© »ç½Ç»óÀº
¹«½ÃÇØµµ »ó°üÀÌ ¾øÀ» Á¤µµÀÔ´Ï´Ù.(¹°·Ð, ¼ö¾ï, ¼ö½Ê¾ï¹ø ÀÌ»óÀÇ »ê¼úÀûÀÎ °è»êµîÀ»
¹Ýº¹ÀûÀ¸·Î ÇàÇÏ´Â ÁÖ·Î ÀÚ¿¬°úÇÐÀ̳ª °øÇаè»ê¿ëÀÇ ¾îÇø®ÄÉÀ̼ǿ¡¼­¶ó¸é ÀÌ·¯ÇÑ ÀÛÀº
½Ã°£µµ ¸Å¿ì Áß¿äÇϰÚÁÒ.)

±×·¸´Ù¸é Á¤¸» ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â °ÍÀº synchronized ºí·°À¸·Î ÀÎÇØ ¹ß»ýÇÏ´Â ½º·¹µåµéÀÇ
´ë±â(Å¥À×)Çö»óÀϰÍÀÔ´Ï´Ù. ±×·±µ¥, ¿©±â¿¡¼­ÀÇ ½º·¹µå Á÷·ÄÈ­ Áï, Å¥À×Çö»óÀ¸·Î ÀÎÇØ 
ÀÌ ÁöÁ¡ÀÌ º´¸ñÀÇ ÁÖµÈ ¿øÀÎÀÌ µÇ±â À§Çؼ­´Â, ÀÌ ºí·Ï ³»¿¡¼­ ½ÇÇàµÇ´Â ·ÎÁ÷ÀÇ Ã³¸®½Ã°£ÀÌ
´Ù¸¥ ¾î¶² Å¥À×°¡´É ºí·ÏÀÇ Ã³¸®½Ã°£º¸´Ùµµ ±æ¾î¾ß ÇÕ´Ï´Ù.

º¸Åë, Ä¿³Ø¼Ç Ç®¿¡¼­ Ä¿³Ø¼ÇÀ» ¾ò¾î¿À´Â ·ÎÁ÷(getConnection())Àº synchronized ºí·ÏÀ¸·Î
¹­¿©ÀÖ½À´Ï´Ù. ±×·±µ¥, Ä¿³Ø¼Ç Ç®¿¡¼­ Ä¿³Ø¼ÇÀ» ¾ò¾î¿Í¼­ ¸®ÅÏÇØÁÖ´Â ·ÎÁ÷ÀÌ ¼Ò¿äµÇ´Â
½Ã°£ÀÌ ¾ó¸¶³ª µÉ±î¿ä? ÀÌ ¶ÇÇÑ, CPUÀÇ Å¬·° ¼Óµµ¿Í, ¸Þ¸ð¸®¿Í CPU°£ÀÇ µ¥ÀÌÅÍ ±³È¯ ¼Óµµ,
±³È¯µÇ´Â ¹ÙÀÌÆ® ¼ö¸¦ »ý°¢Çϰí, ¶ÇÇÑ ½Ã½ºÅÛ ³»ÀÇ ´Ù¸¥ ·ÎÁ÷°ú ºñ±³ÇßÀ» ¶§ ¾öû³ª°Ô
¹Ì¹ÌÇÏ¿©, °ÅÀÇ ½Å°æÀ» ¾È½áµµ µÉ Á¤µµÀÔ´Ï´Ù. ¿©·¯ºÐÀº 1ÃÊ ³»¿¡ ¼öõ ȤÀº ¼ö¸¸ ¹ø
ÀÌ»óÀÇ getConnection()À» ½ÇÇà½Ãų ¼ö ÀÖ½À´Ï´Ù.

¸¸ÀÏ, getConnection()ÀÇ throughput ÀÌ 10000TPS ¶ó¸é, 10000TPS ¹Ì¸¸ÀÇ throughputÀ» 
°¡Áø ·ÎÁ÷ÀÌ ÀÖÁö´Â ¾ÊÀ»±î¸¦ »ý°¢Çغ¸½Ê½Ã¿ä. ±×·± ºÎºÐÀÌ ÀÖ´Ù¸é, ±× ºÎºÐÀ» ¸ÕÀú
°³¼±½ÃÄѼ­ 10000TPS ÀÌ»óÀÇ ½º·çDzÀ» °®°Ô ÇÑ ÈÄ¿¡, getConnection()ÀÇ ¼öÇ༺´É Çâ»óÀ»
°í·ÁÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù. 
±×·¯³ª, ´ëºÎºÐÀÇ µ¥ÀÌÅÍ Ã³¸® ·ÎÁ÷(´ëÇ¥ÀûÀÎ °ÍÀÌ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ÁúÀÇÀÔ´Ï´Ù.)
Àº ¾Æ¹«¸® ÇØµµ À̸¸Å­ÀÇ throughputÀ» º¸ÀåÇÒ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù. µû¶ó¼­, 
getConnection()¿¡¼­ »ç¿ëµÇ´Â sychronized ºí·ÏÀº º´¸ñÀÇ ¿ëÀÇÀÚ ¼±»ó¿¡¼­ ¾Æ¿¹
Á¦¿Ü½ÃŰ´Â °ÍÀÌ Á¤½Å°Ç°­(?)¿¡ ÁÁÀ»°ÍÀÔ´Ï´Ù.

ps : ½ÇÁ¦·Î, synchronized ºí·ÏÀº ½Ã½ºÅÛ ³»¿¡¼­ ¾öû³ª°Ô ¸¹ÀÌ »ç¿ëµË´Ï´Ù. ¾Æ¹«
»ý°¢¾øÀÌ »ç¿ëÇÏ½Ç Áö ¸ð¸¦ Vector ³ª Hashtable À» ¿­¾îº¸½Ê½Ã¿ä. ¼¿ ¼ö ¾øÀÌ ¸¹Àº
synchronized ºí·ÏÀÌ ÀÖ´Â °ÍÀ» º¸½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±â¾ïÇϽʽÿä. sychronized
ºí·ÏÀÇ »ç¿ë ÀÚü°¡ ¹®Á¦°¡ ¾Æ´Ï¶ó, synchronized ºí·Ï ³»¿¡¼­ ½ÇÇàµÇ´Â ·ÎÁ÷ÀÇ 
¼öÇà½Ã°£¸¸ÀÌ ¹®Á¦°¡ µÉ ¼öÀÖ´Ù´Â °ÍÀ»!!

-----------------------------------------------------------------
º» ¹®¼­ ¹× ÷ºÎÆÄÀÏÀº ÀÚÀ¯·ÎÀÌ º¹»ç/¹èÆ÷°¡ °¡´ÉÇϳª ¹Ýµå½Ã ÀúÀÚÀÇ
À̸§°ú ¿¬¶ôó¸¦ ¸í½ÃÇØÁֽñ⠹ٶø´Ï´Ù.

Â÷ÀÇÁß
prof21@empal.com
Á¦¸ñ : Re: Multiple Bottleneck Queue Surface
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2002/09/19 06:33:11 Á¶È¸¼ö:945 ÁÙ¼ö:20
Àú¸¦ ÈïºÐ½ÃŰ´Â Â÷Æ®ÀÔ´Ï´Ù.







PS: Â¥¸´ÇÏÁö ¾Ê³ª¿ä?

-------------------------------------------------------  
  º» ¹®¼­´Â ÀÚÀ¯·Ó°Ô ¹èÆ÷/º¹»ç ÇÒ ¼ö ÀÖÀ¸³ª ¹Ýµå½Ã
  ÀÌ ¹®¼­ÀÇ ÀúÀÚ¿¡ ´ëÇÑ ¾ð±ÞÀ» »èÁ¦ÇÏ½Ã¸é ¾ÈµË´Ï´Ù
================================================
  ÀÚ¹Ù¼­ºñ½º³Ý ÀÌ¿ø¿µ
  E-mail: javaservice@hanmail.net
  PCS:011-898-7904
================================================


Download homogeneousBottleneck3dementationalEquation.jpg (36776 Bytes) homogeneousBottleneck3dementationalEquation.jpg (36776 Bytes)
Download multipleBottleneckQueuingSurface.jpg (46182 Bytes) multipleBottleneckQueuingSurface.jpg (46182 Bytes)
Download homogeneousBottleneckNdementationalEquation.jpg (28640 Bytes) homogeneousBottleneckNdementationalEquation.jpg (28640 Bytes)
Á¦¸ñ : Re: À¥ÆÛÆ÷¸Õ½º Æ÷·³: ¼º´É¿¡ °üÇÑ ¼öÄ¡ÇØ¼®Àû Á¢±Ù
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2002/09/30 15:05:41 Á¶È¸¼ö:1407 ÁÙ¼ö:46
À¥±â¹Ý½Ã½ºÅÛÇÏ¿¡¼­ÀÇ ¼º´É¿¡ °üÇÑ ¼öÄ¡ÇØ¼®Àû Á¢±Ù

ÀϽÃ: 2002.09.30


Topic:
1. Throughput Formula
2. Concurrent User
3. Multiple Bottleneck Saturation Surface Theory
4. # of parameter for best performance
5. Service Level Specification,
   - Maximum User & Response Time



Åä·Ðȸ Âü¼®ÀÚ:
°í±Ô¹é - ¿ì³ë½Ã½ºÅÛ, ±â¼úÁö¿øºÎ System Engineer 
±è±ÕÈ« - LGCNS ITG ÀÎÇÁ¶ó½ºÆ®·°ÃÄÆÀ ´ë¸® 
±è´ëÁß - BEA ÄÁ¼³ÆÃ ´ã´ç : Performance tuning°ú °³¹ß °æÇè º¸À¯ 
±è¹®È¸(ºÒÂü) - °Ç±¹´ëÇб³ ½Ç½Ã°£½Ã½ºÅÛ°øÇבּ¸½Ç ºÎ±³¼ö 
±è¹ü¼ö - MI(Mercury Interactive)»ç Senior SE ºÎÀå 
±èºÀÁØ - ÀÚ¹Ù°³¹ßÀÚ(¾Æ¸¶Ãß¾îÂü°ü) 
±è¼ºÁø - LGCNS ±â¼ú¿¬±¸ºÎºÐ, ÀÎÇÁ¶ó½ºÆ®·°ÃÄ´Ô ´ë¸® 
±èdzÁÖ(ºÒÂü) - Çö´ëÁ¤º¸±â¼ú
¹Ú¼ºÈÆ - ÄÚ¿À·ÕÁ¤º¸Åë½Å, ½ºÆ®·¹½ºÅ×½ºÆÃ °æÇè±â¼úº¸À¯ 
¹Ú¿ë¿ì - ÆæÅ¸½Ã½ºÅÛÅ×Å©³î·¯Áö °íµî±â¼ú¿¬±¸¼Ò ¼±ÀÓ¿¬±¸¿ø 
¹ÚÁ¾ºó - »ï¼ºSDS ÇÁ·ÎÁ§Æ®¿ÀÇǽºÆÀ ÷´ÜS/W°øÇм¾ÅÍ °úÀå 
¼ÕÁ¤¹Î(¿Ü1¸í) - Ƽ¸Æ½º¼ÒÇÁÆ® ¹Ìµé¿þ¾î±â¼úÁö¿ø, R&D 
¾çº´±¹ - Çѱ¹º¼·£µå 
¿Á»óÈÆ(ï¾ÓßÍÔâ¢)°úÀå - ÀÚ¹ÙÅ©·¡ÇÁÆ®´å³Ý, CPU¿ë·® »êÁ¤ ±âÁØ 
À±µ·°æ(ºÒÂü)- LGCNS ±â¼ú¿¬±¸¼Ò, À¥±â¹Ý½Ã½ºÅÛ °³¹ß ÅëÇÕÆÀÀå 
À±Á¤Å - LGCNS ¿¬±¸°³¹ß¼¾ÅÍ ±â¼ú³»ÀçÈ­ÆÀ ´ë¸® 
À̾ƽº(ÀÌâ½Å) - µ¶¸³ °³¹ß ¿¬±¸ Àú¼ú °­¿¬ÀÚ,JSR J2ME Expert Group 
ÀÌ¿ø¿µ - ÀÚ¹Ù¼­ºñ½º³Ý ±â¼úÄ¿¹Â³ÊƼ ´ëÇ¥, Performance/PD Àü¹®°¡ 
ÀåÇü±Ù - °³¹ß°æ·Â 2³â(¾Æ¸¶Ãß¾îÂü°ü) 
Â÷ÀÇÁß - ½ºÆæ¿ÀÄÄ ¼ÒÇÁÆ®¿þÆÀ,ÀÚ¹Ù¼­ºñ½º³Ý ¿î¿µÀÚ,PowerTier,J2EEÀü¹®°¡ 
Ç㱤³² - okjsp.pe.kr 




====================================================
2002.10.24 À¥ÆÛÆ÷¸Õ½ºÀ̷аü·Ã ÁÖÁ¦´Â ¾Æ·¡ÀÇ ¹®¼­¿¡¼­ °è¼Ó À̾îÁö°í ÀÖ½À´Ï´Ù.
590   À¥ÆÛÆ÷¸Õ½ºÀÌ·Ð: ½Ç»çÀÌÆ® ÃøÁ¤°á°úº¸°í¼­ ¹× °ü·Ã¾ð±Þ 
http://www.javaservice.net/~java/bbs/read.cgi?m=qna&b=consult&c=r_p&n=1035524021

Download PerformanceAnalysis_jsc_20050510.zip (1535432 Bytes) PerformanceAnalysis_jsc_20050510.zip (1535432 Bytes)
Download DiscusstionForPerformanceConceptAnalysis.ppt (742912 Bytes) DiscusstionForPerformanceConceptAnalysis.ppt (742912 Bytes)
Download MathematicalApproachToPerformance.pdf (274159 Bytes) MathematicalApproachToPerformance.pdf (274159 Bytes)
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]