SIÇÁ·ÎÁ§Æ® ½Ç¹«°æÇè¹ÙÅÁ Àü¹®ÀÚ¹Ù°³¹ßÀÚ°øµ¿Ã¼    
    WASÀü¹®±â¼ú/½Ã½ºÅÛÀå¾ÖÁø´Ü/¼º´ÉÀÌ·Ð/ÄÁ¼³ÆÃ
¾ÆÀ̵ð: 
ºñ¹Ð¹øÈ£: 
[ȸ¿ø°¡ÀÔ]
¡ß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
Áú¹®Àº [¹¯°í´äÇϱâ]¶õ¿¡¸¸ ¿Ã·ÁÁÖ¼¼¿ä








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


[ÃÖ±Ù ¿Ã¶ó¿Â ±Ûº¸±â] °Ë»ö¾î:
 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 @

- °Ô½ÃÆÇ »ç¿ë¹ý
- ÀÚ¹Ù¼­ºñ½º³ÝÀº... @
IBM WebSphere Application Server
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]   
Á¦¸ñ : Performance Tuning QuickGuide for BenchmarkTest
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 2001/03/28 16:29:55 Á¶È¸¼ö:39668 ÁÙ¼ö:543

Performance Tuning QuickGuide for BenchmarkTest

Document Version : 0.98-1 , 2001.09.11

Version History
First Version : 0.95, 2001.01.16
Version : 0.96, 2001.02.15
Version : 0.97, 2001.03.28
Version : 0.98, 2001.03.29
Version : 0.98-1, 2001.09.11

ƯÁ¤ Servlet/JSP/EJB ¾îÇø®ÄÉÀ̼ÇÀÌ ÃÖ»óÀÇ Performance ¸¦ ³»¾ßÇÏ´Â Benchmark Test 
½ÃÇà½Ã¿¡ IBM WebSphere 3.5.x ¿¡¼­ Àû¿ëÇØ¾ß ÇÏ´Â ÃÖÀûÀÇ ÆÄ¶ó¸ÞÅÍ °ªµéÀ» ã¾Æ³»´Â
¹æ¹ý ÀÔ´Ï´Ù.
ºñ·Ï, ¾ÕºÎºÐÀÇ Æ¯Á¤ ÆÄ¶ó¸ÞÅÍ´Â IBM WebSphere ¾îÇø®ÄÉÀ̼Ǽ­¹ö ±â¹ÝÀÇ ¼öÄ¡ÀÌÁö¸¸, 
ÀÎÅͳÝÀÇ Æ¯¼º°ú ¼º´É, ±×¸®°í, ÃÖÀûÀÇ ÆÄ¶ó¸ÞÅ͸¦ ã¾Æ°¡´Â °úÁ¤Àº À¥±â¹Ý ½Ã½ºÅÛÀ̶ó¸é
µ¿ÀÏÇÏ°Ô Àû¿ëµÇ´Â ¹æ¹ý·ÐÀûÀÎ ¹®Á¦ÀÔ´Ï´Ù.

¸ÕÀú ¿ë¾î¿¡ ´ëÇÑ Á¤ÀǺÎÅÍ Á¤ÇϰíÀÚ ÇÕ´Ï´Ù.

µ¿½Ã»ç¿ëÀÚ/Concurrent Users/Concurrent Clients : 
    ÇöÀç ÇØ´ç ½Ã½ºÅÛÀ» »ç¿ëÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î Çѹø ÀÌ»ó È£ÃâÀ» Ç߰ųª, Çϰí ÀÖ´Â,
    ¸ð´ÏÅÍ ¾Õ¿¡ ÀÖ´Â »ç¿ëÀÚµéÀ̸ç "Active Clients" ¿Í "Inactive Clients" ¸¦ ÇÕÇÑ
    »ç¿ëÀÚÀÌ´Ù.

Active Clients/Active Reuqests/Active Threads : 
    ÇöÀç Request ¸¦ ¼öÇàÇÏ¿© ¾ÆÁ÷ ÀÀ´äÀ» ¹ÞÁö ¸øÇÑ »ç¿ëÀÚ È¤Àº ¼öÇàÁßÀÎ
    ¼­ºñ½ºÀÇ °¹¼ö

Inactive Clients : 
    ÇöÀç Requset ¸¦ ¼öÇàÇÏÁö ¾Ê°í ÀÖÀ¸¸ç, È­¸éÀÇ °á°ú¸¦ º¸°í Àְųª ´ÙÀ½ ¹öưÀ» 
    ´©¸£±â Àü±îÁöÀÇ »ç¿ëÀÚ.

ÀϺΠ¹®¼­¿¡¼­´Â "µ¿½Ã»ç¿ëÀÚ(Concurrent Users)"ÀÇ Á¤ÀǸ¦, À§¿¡¼­ Á¤ÀÇÇÑ "Active 
Clients" ¸¦ ÁöĪÇÏ´Â °ÍÀ¸·Î ¸¹ÀÌµé »ç¿ëÇÕ´Ï´Ù. L4 ½ºÀ§Äª ÀåºñÀÇ Active session°³¼ö
¶óµç°¡, 80 port ESTABLISH·Î ¹°·Á ÀÖ´Â "netstat -n"¼öÄ¡¶óµç°¡, ȤÀº Application
ServerÀÇ ¼öÇàÁßÀÎ ThreadÀÇ °¹¼ö¶óµç°¡...     ±×·¯³ª, ÀÌ·¸°Ô Á¤ÀÇÇÒ °æ¿ì, 
ºñÁî´ÏÀûÀÎ Áß¿äÇÑ ºÎºÐÀ» »ó½ÇÇÏ°Ô µË´Ï´Ù. ¿¹¸¦ µé¾î, ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â ¼­ºñ½ºÀÇ
°¹¼ö´Â ÇØ´çÀÀ¿ë¾îÇø®ÄÉÀ̼ÇÀÇ ÀÀ´ä½Ã°£ÀÌ ´À¸± ¼ö·Ï ³ô°Ô ³ªÅ¸³ª¸ç, ÀÀ´ä½Ã°£ÀÌ
¸Å¿ì ºü¸¥ ¼­ºñ½ºÀÇ °æ¿ì, ±ØÈ÷ ³·°Ô ³ªÅ¸³³´Ï´Ù. ¼ø½Ä°£¿¡ ³¡³ª¹ö¸®´Ï ½ÇÁ¦ ¼­ºñ½ºÇÏ´Â
°¹¼ö´Â ³·°Ô º¸ÀÌ´Â °ÍÀÌÁö¿ä. ¿¹¸¦ µé¾î, ¾îÁ¦´Â Active Clients ¼öÄ¡°¡ ¹«Ã´ 
³ô¾Ò¾ú´Âµ¥, ¾îÁ¬¹ã ¿­½ÉÈ÷ ¾îÇø®ÄÉÀ̼ÇÀ» ¼öÁ¤ÇÏ¿© ÀÀ´ä¼Óµµ¸¦ °³¼±ÇÏ°í ¿À´Ã ÃøÁ¤ÇÏ´Ï
Active Clients ´Â ¸Å¿ì ³·°Ô ³ªÅ¸³µ½À´Ï´Ù. ¸¸¾à, À̰°Àº »óȲÀ» µÎ°í, ¸Å´ÏÁ®¿¡°Ô
"¾îÁ¦´Â 'µ¿½Ã»ç¿ëÀÚ'°¡ 100 À̾ú´Âµ¥, ¿À´ÃÀº 10 ÀÔ´Ï´Ù." ¶ó°í Çϸé, ¸Å´ÏÁ®´Â
"¿Ö ¾îÁ¦º¸´Ù ¿À´Ã »ç¿ëÀÚ°¡ Àû°Ô µé¾î¿ÔÁö?" ¶ó°í ¿ÀÇØ¸¦ ÇÑ´Ù´Â °ÍÀÌÁÒ. ½ÇÁ¦ ¾îÁ¦³ª
¿À´ÃÀ̳ª ÀÌ ½Ã½ºÅÛ¿¡ µé¾î¿Í¼­ »ç¿ëÇÑ ºóµµ´Â µ¿ÀÏÇßÀ½¿¡µµ ºÒ±¸ÇÏ°í ¸»ÀÔ´Ï´Ù.

µû¶ó¼­, ÀÌ ¹®¼­¿¡¼­´Â "µ¿½Ã»ç¿ëÀÚ(Concurrent Users)"¿Í "Active Clients", ±×¸®°í
"Inactive Clients"¸¦ ±¸ºÐÇÏ¿© »ç¿ëÇϰڽÀ´Ï´Ù.

¹°·Ð Á¤ÀÇ¿¡ ÇãÁ¡Àº ÀÖ½À´Ï´Ù. Active Clients ´Â ¸íÈ®Çѵ¥, Inactive Clients ÀÇ °æ¿ì
¾îµð±îÁö¸¦ Æ÷ÇÔÇØ¾ß ÇÏ´À³ÄÀÇ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. È£Ãâ¿¡ µû¸¥ ÀÀ´äÀ» ¸· º¸°í ÀÖ´Â
»ç¿ëÀÚÀÇ °æ¿ì´Â ºÐ¸íÇϰÚÁö¸¸, È­¸éÀ» º¸¸é¼­ Ä¿ÇǸ¦ ¸¶½Ã´Â »ç¶÷, È­Àå½Ç¿¡ Àá±ñ
°£ »ç¶÷, ÄÄÇ»Å͸¦ Äѵΰí Áý¿¡ °¡ ¹ö¸° »ç¶÷ µî, ±× ¹üÀ§°¡ ¾Ö¸Å ÇÕ´Ï´Ù.
Inactive Clients ÀÇ Á¤ÀÇ¿¡ µû¸¥ "µ¿½Ã»ç¿ëÀÚ"ÀÇ Á¤ÀÇ ¿ª½Ã ¸¶Âù°¡Áö·Î ¾Ö¸ÅÇØ Áý´Ï´Ù.
±×·¯³ª, ½Ã½ºÅÛÀÇ °üÁ¡¿¡¼­´Â "Active Clients"°¡ ÀÇ¹Ì ÀÖÁö¸¸, ºñÁî´Ï½ºÀûÀÎ Ãø¸é¿¡¼­´Â
À§ Á¤ÀÇ¿¡ µû¸¥ "µ¿½Ã»ç¿ëÀÚ"ÀÇ °³³äÀº ´ë´ÜÈ÷ Áß¿äÇÕ´Ï´Ù.


1. Basic Setting

 1ÀåÀÇ Basic Setting Àº IBM WebSphere ±â¹ÝÀÇ °¢Á¾ Æ©´× ÆÄ¶ó¸ÞÅÍ ¼³Á¤¿¡ °ü·ÃÇÑ
 ºÎºÐÀÔ´Ï´Ù.
 IBM WebSphere ¾îÇø®ÄÉÀ̼Ǽ­¹ö¿Í °ü½É/°ü·ÃÀÌ ¾ø´Â ºÐÀº °ð¹Ù·Î "2. Tuning Approach
 Methodology" ºÎºÐÀ¸·Î °¡½Ê½Ã¿ä.

1.1 IBM HTTP Server(httpd.conf)

  - MaxClients (ThreadsPerChild) : (discussed later)
  - Timeout 600 (default 300)
    ( ÃæºÐÇÑ ¼öÄ¡·Î Àâ´Â ÀÌÀ¯´Â 300(5ºÐ)µµ ÃæºÐÈ÷ Å©Áö¸¸, µ¿½Ã»ç¿ëÀÚ°¡ Áõ°¡ÇÔ¿¡
      µû¸¥ ÃÖ´ë Response Time º¸´Ù Å« ¼öÄ¡·Î ÀûÀýÈ÷ ¸ÂÃã, BMT(BenchMarkTest)ȯ°æ¿¡¼­´Â
      ½Ã°£ÀÌ ¿À·¡°É·Áµµ ÀÀ´äÀº ¿Í¾ßÇÕ´Ï´Ù.)
  - CustomLog ´Â ÃÖ¼ÒÈ­ : ºÒÇÊ¿äÇÑ Trace ·Î±ë(logging)Àº °¡±ÞÀû ÀÚÁ¦ÇÕ´Ï´Ù.


1.2 IBM Websphere Application Server

1.2.1 Web Server Configuration Reload Interval

  [<websphere_root>/properties/bootstrap.properties]

  ose.refresh.interval=20000


1.2.2 Initial Parameters
    -Xms512m -Xmx512m -noclassgc  ( -noasyncgc on solaris ) \
    -Djavax.rmi.CORBA.UtilClass=com.ibm.CORBA.iiop.Util \
    -Dcom.ibm.CORBA.iiop.noLocalCopies=true \
    -Dcom.ibm.ejs.dbm.PrepStmtCacheSize=200 \
    -Dfile.encoding=KSC5601 \
    -Ddefault.client.encoding=KSC5601

  NOTE: ms, mx °ªÀº CPUÀÇ °¹¼ö¿Í MEMÅ©±â¿¡ µû¶ó ÀûÀýÈ÷ Á¶Á¤ÇÕ´Ï´Ù.
  NOTE :  com.ibm.ejs.dbm.PrepStmtCacheSize = 
             {¼­·Î´Ù¸¥ PreparedStatement ÀÇ °¹¼ö} X 
             {BMT½Ã DB Connection ¿¬°á¼ö or # of MaxConnection}
          default : 10 

  JIT compiler °¡ "enabled" µÇµµ·Ï Default·Î »ç¿ë

  Q: SUN JVM Heap Setting
     -Xgenconfig:64m,64m,semispaces:128,512m,markcompact


1.2.3 Servlet Engine
  node --> AppServer --> ServletEngine --> ¿À¸¥ÂÊ "ÀϹÝ" : Ãִ뿬°á¼ö
  Ãִ뿬°á¼ö(OSE Max Connection) : (discussed later)


1.2.4 WebApplication 

  - WebApplication AutoReload = false (default is "true")

  - JSP Reload Interval
     JSP 1.x Preprocessor --> Advansed --> Init Parameters ¿¡ Ãß°¡
     minTimeBetweenStat : 7200000(2½Ã°£) (default 1000 ms)
    (NOTE: ÀÌ·¸°Ô ÇÒ °æ¿ì, JSP¸¦ º¯°æÇÏ´õ¶ó°í °ð¹Ù·Î º¯°æµÇÁö ¾Ê½À´Ï´Ù)

  - ¸¸¾à, EJB Container ¸¦ »ç¿ëÄ¡ ¾Ê´Â´Ù¸é °ü¸®Äֿܼ¡¼­ ¹Ýµå½Ã Áö¿ì½Ê½Ã¿ä.
  - ¼³Ä¡½Ã »ý¼ºµÈ Default Server ¸¦ ±×´ë·Î »ç¿ëÄ¡ ¸»°í, Áö¿îÈÄ »õ·Î app server ¸¦
    À籸¼ºÇϽʽÿä(!). Default Server¿¡´Â ºÒÇÊ¿äÇÑ samples,admin µîÀÇ WebAppliation
    ÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.
  - File Servlet ÀÌ ÀÖ´Ù¸é ¹Ýµå½Ã Áö¿ì½Ê½Ã¿ä(IHS °¡ html/image ¸¦ ó¸®Åä·Ï)
  - ¸¸¾à, Servlet ÀÌ BMT¿¡¼­ »ç¿ëµÈ´Ù¸é, ¹Ýµå½Ã Alias ¸¦ µî·ÏÇÏ¿© »ç¿ëÅä·Ï Çϰí,
    invoker Servlet À» ÀÌ¿ëÇÏ¿© ClassName ·Î Á¢±ÙÄ¡ ¾Êµµ·Ï ÇϽʽÿä. ¾à°£ÀÇ
    ¼º´ÉÀúÇϸ¦ ¾ß±âÇÕ´Ï´Ù.



1.2.5 SessionManager

   Servlet Engine:Session Manager:Intervals:Invalidate Time: 600 seconds (default 1800)
   SessionMgr:Session Manager:Tuning:Using Cache=Yes (default is No)

   JSP ¿¡¼­ HttpSession À» »ç¿ëÄ¡ ¾Ê´Â´Ù¸é, ¼Ò½º¿¡¼­ ¹Ýµå½Ã ¾Æ·¡ ¶óÀÎÀ» Ãß°¡ÇϽʽÿä
   
   <%@ page session="false" %>

   NOTE: DO NOT use Sesssion persistence feature !!
        "Websphere 3.5.2 HTTP Session Persistence 17% performance degradation
         for Trade2JDBC on Solaris when persistent session is used."

1.2.6 JSP Buffering

   ´ë·®ÀÇ ¿äû¿¡ ´ëÇØ ¸Þ¸ð¸®¸¦ ÀÛ°Ô »ç¿ëÇϱâ À§ÇØ, ·ÎÁ÷»óÀÇ ¹®Á¦¸¸ ¾ø´Ù¸é,
   ¾Æ·¡ ¶óÀÎÀ» ÅëÇØ JSP buffering À» ÇÏÁö ¾Êµµ·Ï ¼³Á¤ ÇϽʽÿä
 
   <%@ page buffer="none" %>


1.2.7 JDBC DataSource 
  
  Data Source:YourDataSource:Minimum connection pool size: 1 (default)
  Data Source:YourDataSource:Maximum connection pool size: 20-40 (discussed later)
  Data Source:YourDataSource:Connection timeout: 300 (default)
  Data Source:YourDataSource:Idle timeout: 1800 (default)
  Data Source:YourDataSource:Orphan timeout: 1800 (default)

  NOTE: ½Ç¿î¿µÈ¯°æ¿¡¼­´Â °¡¿ëÇÑ Connection ÀÌ ¾øÀ» °æ¿ì, ¸¶³É ±â´Ù¸®°Ô Çϸé
   ÀüüÀûÀÎ ½Ã½ºÅÛÀÇ hang Çö»óÀ» ÃÊ·¡ÇÒ ¼öµµ ÀÖÀ¸³ª, BMTȯ°æ¿¡¼­´Â ÀÀ´äÀÌ ´Ê°Ô
   °É¸®´õ¶óµµ DB ÀÛ¾÷Àº ÀÌ·ç¾îÁ®¾ß ÇÕ´Ï´Ù. µû¶ó¼­, connection timeout °ªÀº 
   defualt °ªÀÎ 300(5ºÐ)À» ±×´ë·Î À¯ÁöÇÕ´Ï´Ù. (½Ç¿î¿µÈ¯°æ¿¡¼­´Â ÀÌ ¼öÄ¡¸¦ 2-3(ÃÊ)·Î
   ±ÇÀåÇÕ´Ï´Ù.)



1.3. UDB DB2 DataBase

  Use JDBC Driver Type 2 App Driver
  Application Heap Size = 256M (default 128M)
  MaxAppls = (# of connections set for Data Source + # of connections in session mgr) 
              x   ( # of clones) 
          
          (default is 40)

  Buffpage = 2 x MaxAppls (minimum setting)
  MaxAgents = sumation of MaxAppls for all databases


  NOTE: DB2 on Local AIX, TCP/IP cataloging


1.4 etc.

   4 CPU ±îÁö´Â ¾îÂ÷ÇÇ CPU¸¦ 100% ±îÁö »ç¿ëÇϱ⠶§¹®¿¡ cloning ÀÇ È¿°ú°¡ ¾øÀ¸¸ç
   ÇϳªÀÇ JVMÀ¸·Î ÃÖÀûÀÇ ¼º´ÉÀ» ³¾ ¼ö ÀÖ½À´Ï´Ù.





2. Tuning Approach Methodology

2.1 Tuning Basic Issue

  ¾Æ·¡ [±×¸²1]°ú °°ÀÌ "ºê¶ó¿ìÁ®", "¾îÇø®ÄÉÀ̼Ǽ­¹ö", ±×¸®°í "DB or Legacy tier", 
  ÀÌ·¸°Ô 3°³ÀÇ tier °¡ ÀÖ´Ù°í °¡Á¤ÇØ º¸°Ú½À´Ï´Ù.


  [±×¸²1]


  ¾Æ·¡´Â ºê¶ó¿ìÁ® ´Ü¿¡¼­ ÃøÁ¤ÇÑ, ƯÁ¤ H/Wȯ°æ¿¡¼­ ƯÁ¤ ¾îÇø®ÄÉÀ̼ÇÀÇ Active 
  Clients Áõ°¡¿¡  µû¸¥ "Æò±ÕÀÀ´ä½Ã°£"ÀÇ ±×·¡ÇÁÀÔ´Ï´Ù.[±×¸²2]


  [±×¸²2]

  µ¿½Ã»ç¿ëÀÚ(Concurrent Users)°¡ Áõ°¡Çϸé Active Clients µµ ±×¿¡ µû¶ó Áõ°¡Çϰí,
  ÀϹÝÀûÀ¸·Î ƯÁ¤ ½ÃÁ¡±îÁö´Â Æò±ÕÀÀ´ä½Ã°£Àº ÀÏÁ¤ÇÑ °ªÀ» À¯ÁöÇÏ´Ù°¡ ±× ÀÌÈĺÎÅÍ´Â
  linear ÇÑ Áõ°¡¸¦ º¸ÀÔ´Ï´Ù.[±×¸²3]


  [±×¸²3]

  ¿©±â¼­ TPS(Transaction Per Second)¶ó´Â ¿ë¾î¸¦ Çϳª Á¤ÀÇÇÏ°í ³Ñ¾î°¡°Ú½À´Ï´Ù.
  [±×¸²1]¿¡¼­ "ºê¶ó¿ìÁ®", "¾îÇø®ÄÉÀ̼Ǽ­¹ö", ±×¸®°í "DB or Legacy tier" °¡ ÀÖÀ»¶§
  ºê¶ó¿ìÁ® ´Ü¿¡¼­ ÃøÁ¤ÇÑ 1ÃÊ´ç ÀÀ´äȽ¼ö¸¦ TPS(Trnasaction Per Second) ¶ó ºÎ¸£°Ú½À´Ï´Ù.
  »ç½Ç "Transaction" À̶õ ¿ë¾î´Â ¼­·Î´Ù¸¥ ¶æÀ¸·Î IT¿¡¼­ ±¤¹üÀ§ÇÏ°Ô »ç¿ëÇÕ´Ï´Ù. ÀÌ 
  ¹®¼­¿¡¼­´Â Transaction Per Second º¸´Ù´Â RPS(Response Per Second), ȤÀº 
  PPS(Page Per Second) ÀÇ Àǹ̰¡ °­ÇÕ´Ï´Ù.

  ÀÌ·¸°Ô Á¤ÀÇµÈ TPS´Â Active Clients °¡ Áõ°¡ÇÔ¿¡ µû¶ó ÇÔ²² Áõ°¡ÇÏ´Ù°¡, ÀÏÁ¤½ÃÁ¡ºÎÅÍ´Â
  ´õÀÌ»ó Áõ°¡ÇÏÁö ¾Ê½À´Ï´Ù. ¿ÀÈ÷·Á, °úµµÇÑ Active Clients ¿¡ ´ëÇØ¼­´Â ¿ÀÈ÷·Á TPS´Â
  °¨¼ÒÇÏ´Â °á°ú¸¦ ¾ß±âÇÕ´Ï´Ù.[±×¸²4]


  [±×¸²4]

  ¾î·°Å³ª, ÇØ´ç ¾îÇø®ÄÉÀÌ¼Ç È¤Àº, ¾îÇø®ÄÉÀ̼Ǽ­¹öÀÇ "¼º´É(Performance)"¸¦ À̾߱â
  ÇÒ ¶§, "Æò±ÕÀÀ´ä½Ã°£ÀÌ 0.5 ÃÊ¿´´Ù, ȤÀº 1.7 ÃÊ¿´´Ù" ¶ó´Â °ÍÀº "ƯÁ¤ H/W, ƯÁ¤
  Active Clients °¡ ¾ó¸¶ÀÏ ¶§ ±×·¯Çß´Ù"¶ó´Â Á¶°ÇÀÌ ºÙ¾î¾ß ÇÕ´Ï´Ù.
  ¹Ý¸é, TPS ¿¡´Â Active Clients °¡ ¾ó¸¶À̵ç, 1ÃÊ´ç ó¸®ÇÒ ¼ö Àִ Ƚ¼ö´Â Active
  Clients ÀÇ ÀÏÁ¤±¸°£¿¡¼­ ÀÏÁ¤ÇÏ°Ô µÇ°í, ±× ¼öÄ¡¸¦ ³Ñ¾î¼­Áö ¾Ê½À´Ï´Ù.
  µû¶ó¼­, "¼º´É"À» À̾߱âÇÒ ¶§, "Æò±ÕÀÀ´ä½Ã°£" º¸´Ù´Â "TPS" ¸¦ ³õ°í ¾ê±âÇÏ´Â °ÍÀÌ
  º¸´Ù ¹Ù¶÷Á÷ÇÒ °ÍÀÔ´Ï´Ù.

  ±×¸®°í, "Æò±ÕÀÀ´ä½Ã°£"Àº ƯÁ¤ ÇϳªÀÇ ¼öÄ¡¸¦ °®°í ¾ê±âÇØ¼­´Â ¾ÈµÇ¸ç, Active Clients
  ÀÇ Áõ°¡¿¡ µû¸¥ ÀüüÀûÀÎ ±×·¡ÇÁ¸¦ ³õ°í À̾߱âÇØ¾ß¸¸ Àǹ̸¦ °¡Áý´Ï´Ù.

  ¼º´ÉÃøÁ¤À» À§ÇÑ Benchmark Test¸¦ ½ÃÇàÇÒ ¶§, ´ëºÎºÐÀÇ °æ¿ì, ¾Æ·¡ÀÇ µÎ°¡Áö Ç׸ñÀÌ
  °í·ÁµÇ¾î¾ß ÇÕ´Ï´Ù.

  Áï,ù° TPS(´ÜÀ§½Ã°£´ç ÃÖ´ë󸮰Ǽö)¸¦ ±¸ÇÏ´Â °ÍÀÌÁö¿ä. ÀÌ´Â 1ÃÊ´ç, ȤÀº 1ºÐ´ç
  ÃÖ´ë ó¸®ÇÒ ¼ö ÀÖ´Â °Ç¼ö¸¦ ±¸ÇÏ´Â °úÁ¤À¸·Î Active Client ¸¦ Áö¼ÓÀûÀ¸·Î
  Áõ°¡½ÃŰ¸ç ±×¿¡ µû¸¥ ´ÜÀ§½Ã°£´ç 󸮰ǼöÀÇ ±×·¡ÇÁ¸¦ ±¸ÇÏ¿© ±×·¡ÇÁÀÇ ÃÖ´ëÄ¡¸¦
  È®ÀÎÇÏ´Â °ÍÀÔ´Ï´Ù.

  µÑ°, ºñÁî´Ï½ºÀû ¿ä°Ç»ó Çã¿ë°¡´ÉÇÑ ÃÖ´ëÀÀ´ä½Ã°£À» ¼³Á¤Çϰí, Active Client ¸¦
  Áõ°¡½ÃŰ¸ç ºÎÇÏ·®À» Áö¼ÓÀûÀ¸·Î ³ô¿´À» ¶§, Active Client ¿¡ µû¸¥ Æò±ÕÀÀ´ä½Ã°£ÀÇ
  ±×·¡ÇÁ¸¦ ±¸Çϰí, ±× Æò±ÕÀÀ´ä½Ã°£ÀÇ º¯È­·®ÀÌ Çã¿ë°¡´ÉÇÑ ¹üÀ§¿¡ ¼ÓÇÏ´Â Áö¸¦
  È®ÀÎÇÏ´Â °ÍÀÔ´Ï´Ù.

  ¼º´ÉÃøÁ¤À̶ó´Â °ÍÀº ¾î¶² Tool À» »ç¿ëÇϵç, °á±¹ À§ÀÇ 2°¡Áö »çÇ×À» È®ÀÎÇÏ´Â °úÁ¤ÀÌ
  µÉ °ÍÀÔ´Ï´Ù.
  ±× ÀÌ¿ÜÀÇ °ÍÀº ºÎ¼öÀûÀÎ ¸ð´ÏÅ͸µ °üÁ¡ÀÏ »ÓÀ̸ç, ´ëÇ¥ÀûÀÎ ¿¹°¡, CPU»ç¿ë·®,
  ¸Þ¸ð¸® »ç¿ë·®,  I/O·®, N/W »ç¿ë·® µîÀÌ µÉ °ÍÀÔ´Ï´Ù.
  ±Ã±ØÀûÀ¸·Î "Performance Testing" ÀÇ ±Ùº»ÀûÀÎ ¸ñÀûÀÌ "Performance Tuning"À»
  À§ÇÑ °ÍÀ̹ǷÎ, °¢ °üÁ¡¿¡¼­ÀÇ ¸ð´ÏÅ͸µ °á°ú¸¦ Åä´ë·Î bottleneck ÀÇ Point¸¦
  ã¾Æ³»°í, °³¼±ÇÔÀ¸·Î½á, Performance Tuning À» ÇÏ°Ô µÇ´Â °ÍÀÌÁö¿ä.

  °£È¤, Àϰ¢¿¡¼­´Â BMT¸¦ ½ÃÇàÇÒ ¶§, CPU»ç¿ë·®°ú MEM»ç¿ë·®À» ¼º´ÉÃøÁ¤ÀÇ ÇÑ Ç׸ñÀ¸·Î
  ¼±ÅÃÇϱ⵵ ÇÕ´Ï´Ù. ±×·¯³ª, À̰ÍÀº ¾îµð±îÁö³ª ÂüÁ¶ÀÚ·áÀÌÁö, ¼º´Éºñ±³¸¦ À§ÇÑ ÀÚ·á°¡
  µÇ¾î¼­´Â ¾ÊµË´Ï´Ù. ÀÌ´Â ¸¶Ä¡ ¿©·¯¸íÀÇ Ã౸¼±¼öµéÀÌ °æ±â¸¦ ÇÒ ¶§, ¾î¶² ¼±¼ö°¡ °¡Àå
  ¸¹ÀÌ °ñÀ» ȹµæÇÏ´À³Ä º¸´Ù´Â ¾î¶² ¼±¼ö°¡ ¶¡À» ¸¹ÀÌ È긮Áö ¾Ê´À³Ä¸¦ °¡Áö°í ±× ¼±¼ö¸¦
  Æò°¡ÇÏ·Á´Â °Í°ú µ¿ÀÏÇÕ´Ï´Ù. ȤÀÚ´Â µ¿ÀÏÇÑ ¼º´ÉÀ» ³ªÅ¸³¾ ¶§, ÀÌ¿ÕÀ̸é CPU³ª 
  ¸Þ¸ð¸®¸¦ Àû°Ô »ç¿ëÇÏ´Â ½Ã½ºÅÛÀ» ¼±ÅÃÇÏ·Á ÇßÀ» Áöµµ ¸ð¸£°Ú½À´Ï´Ù. ±×·¯³ª, ´ëºÎºÐÀÇ
  Ã౸°æ±â°á°ú°¡ ±×·¯ÇÏµí ºñ±â´Â °æ¿ì´Â »ó´ëÀûÀ¸·Î ¸Å¿ì µå¹®Çö»óÀ̸ç, ¼³·É µ¿ÀÏÇÑ
  TPS°á°ú¸¦ º¸¿´´õ¶óµµ, CPU³ª MEM»ç¿ë·®ÀÌ ³·´Ù´Â °ÍÀº ¹º°¡ Á»´õ Æ©´×À» ÅëÇØ ¼º´ÉÀ»
  ³ôÀÏ ¼ö ÀÖ¾ú°Å³ª ´Ù¸¥ ¿ÜÀû ºÎºÐ¿¡ ÀÇÇÑ bottleneck À̾ú°Ú±¸³ª Á¤µµ·Î ¹Þ¾Æµé¿©¾ßÁö
  À̸¦ ¸¶Ä¡ 2Â÷ ¼º´ÉÃøÁ¤ Ç׸ñÀ¸·Î ¼±ÅÃÇÏ´Â °ÍÀº Ã౸°æ±â°¡ ºñ°åÀ» ¶§, ¾î´À ÆÀÀÌ
  ¶¡À» Àû°Ô Èê·È´À³Ä·Î ¿ì½ÂÀ» °¡¸®´Â ²ÃÀÌ µÇ°í ¸¿´Ï´Ù.



2.2 Actual Tuning Methodology

2.2.1 °ü·ÃµÈ ¸ðµç ¼öÄ¡(MaxClients:300,OSE:300)¸¦ ÃÖ´ëÇÑ ³ôÀÎ ÈÄ, AKstress ToolÀ»
    ÀÌ¿ëÇÏ¿© Á¡Â÷ÀûÀ¸·Î Active Clients ¼ö(Threads #)¸¦ Áõ°¡½ÃŰ¸ç ºÎÇϸ¦ ÁÖ°í, 
    ±× °á°ú¸¦ ¾Æ·¡¿Í °°Àº ±×·¡ÇÁ(Throughput Curve)·Î ±×¸®½Ê½Ã¿ä


    [±×¸²5] AKtools ÀÇ °á°ú·Î ³ª¿Â PPS(Page Per Second): 1ÃÊ¿¡ ¼öÇàÇÑ È½¼ö



2.2.2 Saturation Point ¿Í buckle zone À» ãÀ¸½Ê½Ã¿ä

   Saturation point
    - CPU°¡ 100% °¡ µÇ´Â ½ÃÁ¡.
    - TPS °¡ ÃÖ´ë°¡ µÇ´Â ½ÃÀÛ ½ÃÁ¡.
   Buckle zone
   - TPS °¡ CPUÀÇ °æÇÕÀ¸·Î ÀÎÇØ ¿ÀÈ÷·Á ¶³¾îÁö´Â ±¸°£


   [±×¸²6]

   µÎ °ªÀ» ãÀ» ¼ö ÀÖÀ» ¶§±îÁö ÃæºÐÇÑ ¼öÄ¡(MaxClients,OSE)¿¡¼­  µ¿½Ã Thread ±¸°£À» 
   ¿©·¯ ¹ø Å×½ºÆ®ÇÒ Çʿ䰡 ÀÖÀ» °ÍÀÔ´Ï´Ù.

2.2.3 °ü·ÃµÈ ¼öÄ¡¸¦ Saturation Point ¿¡ ¸ÂÃ߽ʽÿä

   À§¿¡¼­ Seturation Point °¡ ¹ß»ýÇÏ´Â ¿øÀÎÀÌ ¼­ºí·¿¿£ÁøÀÇ Ã³¸®´É·Â»óÀÇ ¹®Á¦¶ó¸é
   OSE¼öÄ¡°¡ Seturation Point ÀÇ ´ë»óÀÌ µÉ °ÍÀÔ´Ï´Ù.

   ±×·¯³ª, DataBase¸¦ »ç¿ëÇÒ °æ¿ì³ª, Legacy ½Ã½ºÅÛ°ú ¿¬µ¿ÇÏ´Â ±¸Á¶¶ó¸é, ¿ÀÈ÷·Á
   ÀÌ¿Í °ü·ÃÇÑ ¼öÄ¡°¡ Seturation Point ¸¦ ¸¸µé¾î³½ ÁÖµÈ ¿äÀÎÀÌ µÉ °ÍÀÔ´Ï´Ù.


2.2.4 ´Ù½Ã µ¿½Ã thread ¼ö¸¦ Áõ°¡½Ã۸ç Á¡Â÷ÀûÀ¸·Î ºÎÇϸ¦ Áֽʽÿä
   ±×¸®°í, Ç×»ó ÃÖ´ëÄ¡ÀÇ TPS°¡ À¯ÁöµÇ´Â °Í°ú buckle zone ÀÌ »ç¶óÁ³À½À» È®ÀÎÇϽʽÿä


   [±×¸²7]

 NOTE:  À§ °á°ú¿¡¼­ º¸µí, ¸¸¾à, Ç×»ó Active Clients 50 ¿¡¼­¸¸ Å×½ºÆ® Çß¾ú´Ù¸é,
   Seturation Point À» ã¾Æ Æ©´×ÇÑ °Í°ú ÇÏÁö ¾ÊÀº °ÍÀÇ Â÷À̸¦ ´À³¢Áö ¸øÇßÀ»
   °ÍÀ̰í, "¼º´É»óÀÇ º¯È­°¡ ¾ø´Ù"¶ó°í ¿ÀÆÇÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. »ç½Ç»ó Â÷ÀÌ´Â
   Active Clients °¡ ¸¹À» ¶§ Â÷À̰¡ ¹ß»ýÇßÀ¸´Ï±î¿ä...

 NOTE: Backend ½Ã½ºÅÛ(CICS,Tmax,SNA HOST,Socket) °ú ¿¬µ¿½Ã¿¡µµ ¹Ýµå½Ã °¡´ÉÇÑ ÃÖ´ë
   ³ôÀº ¼öÄ¡·Î ¸¶Ãß¾î ³õÀº ÈÄ, Threads °¹¼ö¸¦ 10 ºÎÅÍ 500 ±îÁö 10¾¿ Áõ°¡½ÃÄÑ
   TPS ¸¦ ±¸ÇØ¾ß ÇÕ´Ï´Ù.


 NOTE: ƯÁ¤ H/W Ç÷¿Æû»ó¿¡¼­ ƯÁ¤ ¾îÇø®ÄÉÀ̼ÇÀº °íÀ¯ÀÇ TPS°¡ Á¤ÇØÁ® ÀÖ½À´Ï´Ù.
   ´ÜÁö ãÁö ¸øÇßÀ» »ÓÀÔ´Ï´Ù. ±× ¼öÄ¡¸¦ ã¾Æ, Ç×»ó ±× ¼öÄ¡°¡ ³ª¿Àµµ·Ï ÇÏ´Â °ÍÀÌ
   Æ©´×ÀÔ´Ï´Ù.(¹°·Ð ÇØ´ç ÇÁ·Î±×·¥ ·ÎÁ÷À» °íÃÄ ¼º´ÉÇâ»óÀ» °¡Á®¿À´Â °ÍÀÌ ´õ¿í
   ¿µÇâ·ÂÀÌ Å®´Ï´Ù.)

 NOTE: ÀØÁö ¸»¾Æ¾ß ÇÒ »çÇ×Àº Seturation Point ¸¦ ãÀ¸·Á¸é µé¾î°¡´Â ¸ðµç Åë·Î¸¦
   ÃÖ´ëÇÑ ¿­¾îµÎ°í(MaxClients:300, OSE:300, DataSource:300, ȤÀº ±× ÀÌ»ó) Å×½ºÆ®°¡
   ¼öÇà µÇ¾î¾ß ÇÕ´Ï´Ù.

 NOTE: °¢ ¾îÇø®ÄÉÀÌ¼Ç ¸¶´Ù ÃÖÀûÄ¡ÀÇ ÆÄ¶ó¸ÞÅÍ´Â ±× ¾îÇø®ÄÉÀ̼ÇÀÇ Æ¯¼º¿¡ µû¶ó
   °¢±â ¼­·Î ´Ù¸¨´Ï´Ù. Á¤¸» ±×·¸½À´Ï´Ù.



2.3. Application ¼º°Ý¿¡ µû¸¥ Ư¼º

2.3.1 dummy.jsp ¿Í °°ÀÌ ÀÀ´äÀÌ ¸Å¿ìºü¸£°í ³»ºÎ¿¡¼­ º°·Î ÇÏ´Â ÀÏÀÌ ¾ø´Â ¾îÇø®ÄÉÀ̼Ç

  - µ¿½Ã¿¡ ó¸®ÇÏ´Â MaxÁ¦ÇѼöÄ¡´Â 10-20 À¸·Î ¸Å¿ì ³·¾Æ Áú ¼ö ÀÖ½À´Ï´Ù.

  - ¼öÄ¡¸¦ ¸Å¿ì ³·°Ô Á¦ÇѽÃÄÑ µÎ¾îµµ CPU »ç¿ëÀº 100 % ±îÁö ¼ø½Ä°£¿¡ ¿Ã¶ó°©´Ï´Ù.
    ¿Ö³Ä¸é, ´ëºÎºÐÀÇ ºÎÇÏ´Â ÇØ´ç ¾îÇø®ÄÉÀ̼ǿ¡ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó, ¿£ÁøÂÊ¿¡¼­ÀÇ
    Event󸮰¡ °ÅÀÇ Á¡À¯ÇÏ°Ô µË´Ï´Ù. ÀÀ´äÀÌ ºü¸¥ ¼­ºñ½ºÀÎ ¸¸Å­, CPU°¡ ÇÒÀϵµ ¸¹°í
    ¹ßºü¸£°Ô ¿òÁ÷¿©¾ß ÇÑ´Ù°í ¼³¸íÇÏ¸é µÉ±î¿ä...
    ÀÀ´äÀÌ ¸Å¹« ºü¸£¹Ç·Î TPS ´Â ¸Å¿ì ³ô½À´Ï´Ù.

2.3.2 DB °ü·Ã ¾îÇø®ÄÉÀ̼Ç

  - DB SQLÀÇ Query Á¤µµ¿¡ µû¶ó, DB¼­¹ö¿Í WebSphere °¡ CPU»ç¿ë·®ÀÌ ´Þ¶óÁý´Ï´Ù.
    À§ÀÇ "Tuning Approach Methodolody" ¿¡ µû¶ó DataSource Max ¼öÄ¡¿Í
    WebSphere OSE Max #, IHS MaxClients # ¸¦ ã¾Æ³»¾ß ÇÕ´Ï´Ù.

  - DB Query ½Ã°£ÀÌ ¸¹ÀÌ °É¸®´Â ¼­ºñ½ºÀÏ °æ¿ì, Seturation Point ÀÇ ´ë»óÀº
    DataSource ÀÇ max connection ºñÁßÀÌ ¼º´É»óÀÇ ¿µÇâÀ» ´õ¿í ¹Þ½À´Ï´Ù.
    DB Server ÀÇ CPU/MEM »ç¿ë·®¿¡ µû¶ó Seturation Point ¸¦ ÀâµÇ, OSE ¼öÄ¡º¸´Ü
    DataSource ÀÇ max connection ¿¡ °ü½ÉÀ» °¡Á®¾ß ÇÕ´Ï´Ù.

  - DB Query °¡ simple ÇÒ ¼ö·Ï, DataSource ÀÇ max connection ¼öÄ¡´Â ³·¾ÆÁú ¼ö
    ÀÖ´Ù. ÀÌ °æ¿ì, DataSource ÀÇ max connection º¸´Ü, WebSphere ÀÇ OSE¼öÄ¡°¡
    ¼º´É¿¡ ´õ¿í ¿µÇâÀ» ¹Þ½À´Ï´Ù.

  NOTE: ÀûÁ¤ÇÑ ¼öÄ¡°¡ ¾î¶² °ÍÀÎÁö´Â ÇØ´ç ¾îÇø®ÄÉÀ̼ÇÀÇ Æ¯¼º°ú H/W¿¡ µû¶ó
    ´Þ¶ó Áý´Ï´Ù. ±×·¸±â ¶§¹®¿¡ ƯÁ¤ ¼öÄ¡¸¦ ÀÌ ¹®¼­¿¡¼­ Á¦½ÃÇÒ ¼ö´Â ¾ø½À´Ï´Ù.

2.3.3 Backend Access ¾îÇø®ÄÉÀ̼Ç

  - CICS Transaction Gatewary for Java, WebT for Tmax, Socket, JNI µîÀ¸·Î Backend
    ¼­ºñ½º¿Í ¿¬µ¿µÉ °æ¿ì, ´ëºÎºÐ Backend ½Ã½ºÅÛ¿¡¼­ bottleneck ÀÌ ¹ß»ýÇϸç, 
    ÀüüÀûÀÎ TPS ´Â backend ÀÇ TPS ±× ÀÚü°¡ µË´Ï´Ù.

  - Backend ½Ã½ºÅÛÀÇ buckle zone ÀÌ ¹ß»ýÇÏÁö ¾Ê´Â ÇÑ ¾Õ´Ü¿¡¼­´Â ÃÖ´ëÇÑ
    Backend ·Î ¸¹Àº ¼öÀÇ Request °¡ ½×À̵µ·Ï ÇØ¾ß ÇÕ´Ï´Ù.
    µû¶ó¼­, MaxClients, OSE ¼öÄ¡´Â ³ô¾Æ Áú ¼ö ÀÖÀ¸¸ç, ±×·³¿¡µµ ºÒ±¸Çϰí
    WebSphere Machine ÀÇ CPU/MEM »ç¿ë·®Àº ±ØÈ÷ ³·À» °ÍÀÔ´Ï´Ù.

  NOTE: BMTÀÇ È¯°æ¿¡¼­´Â ¾Æ¹«¸® ÀÀ´ä½Ã°£ÀÌ ´À¸®´õ¶óµµ ÀÀ´äÀÌ ½ÇÆÐÇÏ¸é ¾ÈµË´Ï´Ù.
    ¹Ý¸é, ½Ç ¿î¿µÈ¯°æ¿¡¼­´Â ÀÀ´äÀÌ ´À·ÁÁú °æ¿ì, ¸¶³É ±â´Ù¸± °ÍÀÌ ¾Æ´Ï¶ó, °¡¿ëÇÑ
    ÀÚ¿ø(DataBase Conneciton, Legacy Socket Pool, etc..)ÀÌ ¾øÀ» °æ¿ì  "½Ã½ºÅÛÀÌ
    ÆøÁÖÁßÀÔ´Ï´Ù. ´ÙÀ½¿¡ ´Ù½Ã ÀÌ¿ëÇϼ¼¿ä"¿Í °°ÀÌ °ð¹Ù·Î È£ÃâÀ» ¹ÛÀ¸·Î ¹Ð¾î³»¾ß
    ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ½Ã½ºÅÛÀº ±× ´ë·®ÀÇ È£ÃâÀ» ³¡±îÁö ¼öÇàÇϱâ À§ÇØ °è¼ÓÀûÀ¸·Î
    Queue ¿¡ ½×¾Æ µÑ °ÍÀÔ´Ï´Ù. À̰ÍÀ» ÇØ°áÇÏ´Â ÇϳªÀÇ ¹æ¹ýÀÌ "Peek Point Control"
    À̶ó ¸í¸íÇÑ ÇÁ·Î±×·¡¹Ö ±â¹ýÀÔ´Ï´Ù.



2.4 ¼ö¿ë°¡´ÉÇÑ  Ãִ뵿½Ã»ç¿ëÀÚ(Maximum Concurrent Users)

2.4.1 TPS ¿¡ ±Ù°ÅÇÑ ÃÖ´ë µ¿½Ã»ç¿ëÀÚ

  Active Clients Áõ°¡¿¡ µû¸¥ 1ÃÊ´ç ó¸®È½¼ö TPS¸¦ ÃøÁ¤ÇÑ [±×¸²7]¿¡¼­, ÇØ´ç ¾îÇø®ÄÉ
  À̼ÇÀÇ ÃÖ´ë TPS´Â 83.33 ³ª¿Ô½À´Ï´Ù. 
  ¿¹¸¦ µé¾î, "ÇÑ »ç¿ëÀÚ´Â ÀÀ´ä½Ã°£ÀÌ ¾ó¸¶°¡ °É¸®µç 10Ãʰ£°ÝÀ¸·Î Çѹø¾¿ ¹«Á¶°Ç È£ÃâÀ»
  ÇÑ´Ù"¶ó°í °¡Á¤ÇØ º¸¸é, ÇÑ»ç¶÷ÀÌ 10Ãʰ£°ÝÀ¸·Î È£ÃâÇÏ´Ï, 10»ç¶÷ÀÌ¸é ¼­¹öÃø¿¡¼­´Â 
  1ÃÊ¿¡ Çѹø²Ã·Î ¿äûÀÌ µé¾î¿Ã °ÍÀÔ´Ï´Ù. 100»ç¶÷À̸é 1ÃÊ¿¡ 10¹ø ²Ã·Î ¿äûÀÌ µé¾î¿Ã
  °ÍÀÔ´Ï´Ù. 833 ¸íÀ̸é, ¼­¹öÃø¿¡¼­´Â 1ÃÊ¿¡ 83.3 °³ÀÇ È£ÃâÀÌ µé¾î¿À´Â Á¤µµÀÇ ºÎÇÏÀÏ
  °ÍÀÔ´Ï´Ù.

  ¸¸¾à, 833 ¸í ÀÌ»óÀÌ µÇ¸é ¾î¶»°Ô µÇ°Ú½À´Ï±î? 1ÃÊ¿¡ 83.3 ȸ ÀÌ»óÀÇ ºóµµ·Î È£ÃâÀÌ
  ¹ß»ýÇÏ°Ô µÇ´Âµ¥, ÇØ´ç H/W, ÇØ´ç ¾îÇø®ÄÉÀ̼ÇÀº [±×¸²7]¿¡¼­ ÃøÁ¤ÇÑ ¹Ù¿Í °°ÀÌ 1ÃÊ¿¡
  ÃÖ´ë 83.3 ȸ ÀÌ»óÀº ó¸®ÇÏÁö ¸øÇÕ´Ï´Ù. ±×·¸°Ô µÇ¸é ÀϺΠÃʰúÇϴ ȣÃâµéÀº ÀÀ´äÁö¿¬ÀÌ
  ¹ß»ýÇÏ°Ô µÇ°í, ÀÀ´äÁö¿¬¿¡¼­ ±×Ä¡´Â °ÍÀÌ ¾Æ´Ï¶ó, È£Ãâºóµµ¿Í 󸮴ɷÂÀÇ »ó°ü°ü°è¿¡¼­
  ¹Ð¸®°Ô µÇ¹Ç·Î, ÀϺΠRequest ´Â Queue ¿¡ ½×ÀÌ°Ô µÇ°í, Queue ¿¡ ½×ÀÌ´Â ·®Àº °è¼ÓÀûÀ¸·Î
  ´Ã¾î³ª°Ô µË´Ï´Ù.

  °á±¹, "10ÃÊ¿¡ Çѹø¾¿ ¹«Á¶°Ç È£ÃâÇÑ´Ù"¶õ °¡Á¤ÇÏ¿¡ ÇØ´ç ¾îÇø®ÄÉÀ̼ÇÀº ƯÁ¤ H/Wȯ°æ¿¡¼­
  833 ¸í ÀÌ»óÀº ¼ö¿ëÇÒ ¼ö ¾ø´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.


  ¹°·Ð À̰ÍÀº ºóµµ¿Í È®À²ÀÇ ¹®Á¦ÀÏ »ÓÀÔ´Ï´Ù. ƯÁ¤ ½ÃÁ¡¿¡ ¸ô¸± ¼öµµ ÀÖ°í, 1¸¸¸íÀÌ
  Á¢¼ÓÇØ À־ ½ÇÁ¦ È£Ãâ·®Àº ÀÛÀ» ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ±× "10ÃÊ"¶ó´Â °¡Á¤À» ¾î¶»°Ô
  º¸ÀåÇϰڽÀ´Ï±î? È­¸éÀÇ Content ÀÇ À§Ä¡¿Í Navigation ¹æ¹ý¿¡ µû¶ó ´Þ¶óÁú °ÍÀÔ´Ï´Ù.
  ±×·¯³ª, ±âÁ¸ Access ·Î±× ÀÚ·á°¡ ÀÖ´Ù¸é, ±× ÀڷḦ ±â¹ÝÀ¸·Î ƯÁ¤ ¾îÇø®ÄÉÀ̼ÇÀÇ
  È£Ãâºóµµ¿Í ±× º¯È­·® ÃßÀ̸¦ ¿¹»óÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÀϹݻç¿ëÀÚ¸¦ ¼±Á¤ÇÏ¿© ƯÁ¤
  ½Ã½ºÅÛ »ç¿ë¿¡ µû¸¥ È£ÃâÆÐÅϰú È£Ãâºóµµ¸¦ ¸ð´ÏÅ͸µÇϸé, ¾î´À Á¤µµ µ¿½Ã»ç¿ëÀÚÀÏ ¶§,
  ¾î´ÀÁ¤µµÀÇ ºÎÇϰ¡ ¹ß»ýÇϹǷÎ, ÇâÈÄ ¾î´À½ÃÁ¡¿¡ µÇ¸é Ãִ뵿½Ã»ç¿ëÀÚÀÇ ÇѰè½ÃÁ¡¿¡
  µµ´ÞÇÒ °ÍÀΰ¡¸¦ ³ª¸§´ë·Î ¿¹ÃøÇÒ ¼ö ÀÖ´Ù°í º¾´Ï´Ù.



2.4.2 Æò±ÕÀÀ´ä½Ã°£(Mean Time)¿¡ ±Ù°ÅÇÑ Ãִ뵿½Ã»ç¿ëÀÚ

  ¾Õ¼± ±Û¿¡¼­´Â TPS¿¡ ÀÇÇÑ Á÷°üÀûÀÎ Ãִ뵿½Ã»ç¿ëÀÚ¸¦ ±¸ÇØ º¸¾Ò½À´Ï´Ù.  ¹Ý¸é Active 
  Clients Áõ°¡¿¡ µû¸¥ "Æò±ÕÀÀ´ä½Ã°£"ÀÇ ±×·¡ÇÁ¸¦ ±×·ÁµÎ¸é, ÇØ´ç ¾îÇø®ÄÉÀ̼ÇÀÌ ÃÖ´ë
  ¼ö¿ëÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ ±¸°£º°·Î °è»êÇØ ³¾ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î Active Clients 
  Áõ°¡¿¡ µû¸¥ "Æò±ÕÀÀ´ä½Ã°£"ÀÇ ±×·¡ÇÁ°¡ ´ÙÀ½°ú °°´Ù°í °¡Á¤ÇϰڽÀ´Ï´Ù.


  [±×¸²8] Ktools ÀÇ °á°ú Áß Active Thread # Áõ°¡¿¡ µû¸¥ Mean Time(Æò±ÕÀÀ´ä½Ã°£)

  ´ÙÀ½°ú °°Àº °ÍÀ» »ý°¢ÇØ º¸°Ú½À´Ï´Ù.



  [±×¸²9]
  
  À§¿¡¼­, Active Clients 120 ÀÇ °æ¿ì¸¦ º¸¸é, "Ç×»ó 120 °³ÀÇ Request°¡ ¼­¹öÃø¿¡¼­
  ¼öÇàÇϰí ÀÖ´Â »óȲ" ÀÔ´Ï´Ù. ÀÌ Á¤µµÀÇ ºÎÇϰ¡ µé¾î¿À±â À§Çؼ­ ¸î¸íÀÇ »ç¿ëÀÚ°¡
  ÀÖÀ¸¸é µÇ°Ú´À³Ä¸¦ ¿ª»êÇÏ´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î "ÀÀ´ä½Ã°£ÀÌ ¾ó¸¶°¡ °É¸®µç, Ç×»ó
  10 ÃÊ °£°ÝÀ¸·Î È£ÃâÇÑ´Ù"¶ó°í °¡Á¤Çϸé, ¸¸¾à ÀÌ·¯ÇÑ »ç¿ëÀÚ°¡ 120 ¸íÀÌ ÀÖ´Ù¸é
  ¼­¹öÃø¿¡¼­´Â ºÒ°ú 1.4ÃÊ ¹Û¿¡ "Active Clients 120" À» À¯ÁöÇÏÁö ¸øÇÕ´Ï´Ù. Ç×»ó
  120 °³ÀÇ È£ÃâÀ» ¼­¹öÃø¿¡¼­ ¼öÇàÁßÀÎ »óȲÀÌ µÇ·Á¸é, 1.4 : 10 ÀÇ ºñÀ²¸¸Å­ÀÌ ´õ 
  ÀÖ¾î¾ß¸¸ ÇÒ °ÍÀÔ´Ï´Ù.
  µû¶ó¼­, 120 x { 10,000 / 1,409 } = 852 ¸í Á¤µµ°¡ 10Ãʰ£°ÝÀ¸·Î Áö¼ÓÀûÀ¸·Î È£ÃâÇÒ
  ¶§, ¼­¹öÃø¿¡¼­´Â Ç×»ó 120 ¿©°³ÀÇ Active È£ÃâÀÌ ¹ß»ýÇÏ´Â ¼ÀÀÔ´Ï´Ù.

  Max Concurrent Users = (Acrive Clients) x { t / r }

  (t : ¸îÃʸ¶´Ù »ç¿ëÀÚ°¡ Çѹø¾¿ ¹öưÀ» ´©¸¥´Ù´Â °¡Á¤Ä¡. ¿¹) 10000(10ÃÊ) )
   r : ƯÁ¤ Active Clients½ÃÀÇ Æò±Õ ÀÀ´ä½Ã°£)


  À§ ¼öÄ¡¸¦ °è»êÇØ º¸¸é, Active Clients °¡ Áõ°¡ÇÔ¿¡ µû¶ó ƯÁ¤ ¼öÄ¡·Î ¼ö·ÅÇÏ°Ô µË´Ï´Ù.
  ±× ¼öÄ¡°¡ t °ªÀÇ °¡Á¤ÇÏ¿¡ ÃÖ´ë ¼ö¿ë°¡´É ÀοøÀÌ µË´Ï´Ù.

  ¶ÇÇÑ ÀÌ ¼öÄ¡´Â ¾Õ¼­ TPS¿¡ ÀÇÇØ ±¸ÇÑ "Ãִ뵿½Ã»ç¿ëÀÚ"¼ö¿Í À¯»çÇÏ°Ô ÀÏÄ¡ÇÕ´Ï´Ù.
  (»ç½Ç ¼öÇÐÀûÀ¸·Î´Â Á¤È®È÷ ÀÏÄ¡ÇÏ¿©¾ß Çϴµ¥, AKtools °¡ TPS¸¦ °è»êÇÒ ¶§, miscro
  second ¸¦ ÀÌ¿ëÄ¡ ¾Ê°í, second ¸¦ ÀÌ¿ëÇÏ¿© devide ¿¬»êÀ» ÇÏ´Â µí ÇÕ´Ï´Ù.)


  [±×¸²10]

  NOTE: ±×·¯³ª, Æò±ÕÀÀ´ä½Ã°£ÀÇ ±×·¡ÇÁ([±×¸²8])¿¡¼­ "¼ö¿ë/Çã¿ë°¡´ÉÇÑ ÀÀ´ä½Ã°£ 
  ½ÃÁ¡"±îÁö¸¸ Àǹ̰¡ ÀÖ´Â ¸¸Å­, ÀÀ´ä½Ã°£ÀÌ ¸Å¿ì ºü¸¥ ¼Óµµ·Î ´À·ÁÁú °æ¿ì, ¼ö·Å°ª 
  ÀÌÀü¿¡ ÀÌ¹Ì ÇÑ°è »ç¿ëÀÚ¼ö¿¡ µµÃâµÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, "ÀÀ´ä½Ã°£ÀÌ 1ÃÊ ÀÌ»óÀº
  µµÀúÈ÷ ¿ë³³ÇÒ ¼ö ¾ø´Ù" ¸é À§¿¡¼­ Active Clients 80 ¿©¸íÀ϶§ Æò±ÕÀÀ´ä½Ã°£ÀÌ 1ÃÊ
  °¡±îÀÌ µÈ´Ù°í ÇßÀ» ¶§(1,008 ms),  80 * { 10,000/1,008 } = 794 ¸í. À̸¦ ³ÑÀ» °æ¿ì,
  ActiveClients °¡ 80 À» ³Ñ¾î¼­°Ô µÇ°í, ÀÌ´Â ¿ë³³ÇÒ ¼ö ¾ø´Â(!) Æò±ÕÀÀ´ä½Ã°£(1ÃÊ)À»
  ¾ß±âÇÏ´Â ±¸°£ÀÌ µË´Ï´Ù.

  NOTE: À§ ±×·¡ÇÁ¸¦ ÇØ¼®Çϸé, 

  (1) ÀÏÁ¤Çѵµ ±îÁö´Â »ç¿ëÀÚ°¡ Áõ°¡ÇÏ´õ¶óµµ ±×¿¡ µû¸¥ ºÎÇϸ¦ ÀûÀýÈ÷ ó¸®ÇÒ ¼ö
      ÀÖÁö¸¸, À§¿¡¼­ ¾ð±ÞÇÑ "Ãִ뵿½Ã»ç¿ëÀÚ" °¡±î¿î ¼öÄ¡¿¡¼­ºÎÅÍ´Â Á¶±Ý¸¸
      »ç¿ëÀÚ°¡ Áõ°¡ÇÏ¸é ±×¿¡ µû¸¥ ¼­¹öÃøÀÇ ºÎÇÏ´Â ±Þ°ÝÇÏ°Ô Áõ°¡ÇÕ´Ï´Ù.
      ´ëÇ¥ÀûÀÎ Çö»óÀÌ "netstat -n | grep asi | wc -l" ·Î º» ½ÇÁ¦ ¼­ºñ½ÌÇϰí
      ÀÖ´Â °¹¼ö(OSE)ÀÇ ±Þ°ÝÇÑ Áõ°¡¸¦ ¾ß±âÇÕ´Ï´Ù.

  (2) ÀÌ ¾ê±â´Â ¿ªÀ¸·Î Clients °¡ È£ÃâÇÏ´Â ºóµµ(Request Per Second)°¡
      ¼­¹öÃø¿¡¼­ 1ÃÊ´ç ó¸®ÇÒ ¼ö ÀÖ´Â °¹¼ö(Trahsaction Per Second)¸¦ ÃʰúÇÏ´Â
      ±× ½ÃÁ¡ºÎÅÍ, ÀϺΠRequest ´Â Queue ¿¡ ½×ÀÌ°Ô µË´Ï´Ù.
      À̴ ȣÃâºóµµ¿Í 󸮴ɷÂÀÇ ¹®Á¦À̹ǷÎ, ÀÌ »óȲÀº Àý´ë º¹±¸µÇÁö ¾ÊÀ¸¸ç,
      Á¡Â÷ ¾ÇÈ­µÇ¾î º¹±¸ ºÒ´ÉÀÇ »óÅ¿¡ µµ´ÞÇÕ´Ï´Ù.(°øÀ» ´øÁö´Â »ç¶÷°ú, °øÀ»¹Þ¾Æ
      ´Ù½Ã µÇ´øÁö´Â µÎ»ç¶÷ÀÌ ÀÖ´Ù°í ÇÒ ¶§, °øÀ» ´øÁö´Â »ç¶÷ÀÇ ºóµµ°¡ °øÀ»¹Þ¾Æ
      µÇ´øÁ®ÁÖ´Â »ç¶÷ÀÇ Ã³¸®´É·Â ÀÌ»óÀ¸·Î ´øÁ® ¹ö¸®¸é, ¹ÞÁö ¸øÇÑ °øÀÇ ¼ö´Â
      °è¼Ó ´Ã¾î¸¸°¡Áö °áÄÚ ÁÙÁö ¾ÊÁö ¾Ê½À´Ï±î)

      À̰ÍÀÌ ±âÁ¸ÀÇ Client/Server ȯ°æ°ú ÀÎÅͳÝÀÇ Â÷ÀÌÀÔ´Ï´Ù. C/Sȯ°æ¿¡¼­´Â
      »ç¿ëÀÚ°¡ ¹öưÀ» ´©¸¦ °æ¿ì, ÀÀ´äÀÌ ¿À±âÀü±îÁö ¸ðµç ¹öưÀÌ ºñȰ¼ºÈ­µÇ¾î
      ´Ù½Ã ´©¸¦ ¼ö ¾ø¾ú½À´Ï´Ù. ÀÌ´Â ¼­¹öÃøÀÇ ¼º´ÉÀÌ ³·À» °æ¿ì ´ÜÁö ÀÀ´ä¼ÓµµÀÇ
      ÀúÇÏÇö»ó¸¸ ÃÊ·¡ÇÒ »Ó, Queue ¿¡ ½×ÀÎ Request ´Â ¾ðÁ¨°¡ ÀÀ´äÀÌ ¿À°Ô µË´Ï´Ù.
      ±×·¯³ª ºê¶ó¿ìÁ® ±â¹ÝÀÇ ÀÎÅÍ³Ý »ç¿ëÀÚ´Â ÀÀ´äÀÌ ¿ÀÁö ¾ÊÀ» ¼ö·Ï ´õ¿í
      ¿äûÀ» ³¯¸®´Â °æÇâÀÌ ÀÖÀ¸¸ç, ÀÌ´Â ¶Ç´Ù¸¥ È£Ãâ¹ß»ýÀ» ÅëÇØ È£Ãâºóµµ¸¦
      Áõ°¡½ÃŰ°Ô µË´Ï´Ù.

      ¾Õ¼± Ãִ뵿½Ã»ç¿ëÀÚ¸¦ ±¸ÇÏ´Â °ø½ÄÀº "ÀÀ´äÀÌ ¾ó¸¶¸¸¿¡ ¿Àµç ¹«Á¶°Ç t ½Ã°£
      °£°ÝÀ¸·Î È£ÃâÇÑ´Ù"´Â °¡Á¤ÇÏ¿¡ ÀÌ·ç¾îÁ³½À´Ï´Ù. 
      ¸¸¾à "ÀÀ´äÀÌ ¾ó¸¶°¡ °É¸®µç ÀÀ´äÀÌ Á¤»óÀûÀ¸·Î ¿Â ÈÄ, t ½Ã°£ ÀÌÈÄ¿¡ ´Ù½Ã
      È£ÃâÇÑ´Ù"´Â C/Sȯ°æÀÇ °¡Á¤ÇÏ¿¡ µ¿ÀÏÇÑ "Ãִ뵿½Ã»ç¿ëÀÚ"¸¦ ±¸ÇØ º¸¸é
      ±× Â÷À̸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù.

      C/S Max Concurrent Users = Active Clients x { (r+t) / r }

      (t : ÀÀ´äÀÌ ¿Â ÀÌÈÄ ¸îÃʰ¡ Áö³­ ÈÄ ´Ù½Ã ¹öưÀ» ´©¸¥´Ù´Â °¡Á¤Ä¡. ¿¹) 10000(10ÃÊ) )
       r : ƯÁ¤ Active Clients½ÃÀÇ Æò±Õ ÀÀ´ä½Ã°£)


      [±×¸²11]

      Áï, Active Clients »ç¿ëÀÚ Áõ°¡¿¡ µû¶ó ¼ö¿ëÇÒ ¼ö ÀÖ´Â Clients ¼ö´Â ±×¿¡ µû¶ó
      linear ÇÏ°Ô Áõ°¡ÇÕ´Ï´Ù. Áï, »ç¿ëÀÚ°¡ Áõ°¡ÇÏ´õ¶óµµ, ÀÀ´ä½Ã°£¸¸ ´À·ÁÁú »Ó,
      ¿©ºÐÀÇ ÀÀ´ä´ë±â»óÅ¿¡ ºüÁø request ¼ö´Â ÀÏÁ¤ ½Ã°£ÈÄ ´õÀÌ»ó Áõ°¡ÇÏÁö ¾Ê±â
      ¶§¹®ÀÔ´Ï´Ù.

      ÀÎÅÍ³Ý ±â¹ÝÀÇ À¥½Ã½ºÅÛÀÌ ÀÌ·¸°Ô ¸»¸¹Àº ÀÌÀ¯°¡ ¿©±â¿¡ ÀÖ½À´Ï´Ù.



3. °á·Ð

  Æ©´×Àº Á¾ÇÕ¿¹¼úÀÔ´Ï´Ù.



PS: AKtools : ftp://ftp.javaservice.net/pub/aktools/
    Document : 
    http://www.javaservice.net/~java/bbs/read.cgi?m=etc&b=etc&c=r_p&n=972365763


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

Download image4_2.gif (8368 Bytes) image4_2.gif (8368 Bytes)
Download image5.gif (15854 Bytes) image5.gif (15854 Bytes)
Download image0_2.gif (11888 Bytes) image0_2.gif (11888 Bytes)
Download image2.gif (21694 Bytes) image2.gif (21694 Bytes)
Download image1.gif (15062 Bytes) image1.gif (15062 Bytes)
Download image6.gif (17121 Bytes) image6.gif (17121 Bytes)
Download image0_3.gif (9539 Bytes) image0_3.gif (9539 Bytes)
Download image0_4.gif (9969 Bytes) image0_4.gif (9969 Bytes)
Download image0_1.gif (2955 Bytes) image0_1.gif (2955 Bytes)
Download image3.gif (23246 Bytes) image3.gif (23246 Bytes)
Download image4_0.gif (20848 Bytes) image4_0.gif (20848 Bytes)
Á¦¸ñ : tuning point´Â ¾î¶»°Ô Àâ¾Æ¾ß ÃÖÀûÀϱî¿ä?
±Û¾´ÀÌ: ±Ç¿µ»ó(kys91) 2001/04/03 02:13:39 Á¶È¸¼ö:962 ÁÙ¼ö:56
°£´ÜÇÑ ÀúÀÇ ¼Ò°ß°ú Àǹ®À» ¸îÀÚ Àû°Ú½À´Ï´Ù.

À§ ±Û¿¡¼­ Áú¹®ÀÌ »ý±â´Â ºÎºÐÀº 
1. ¾î´À application¿¡ ¸ÂÃß¾î saturation point¸¦ Àâ¾Æ¾ß Çϴ°¡?
2. back end¿¡¼­ bottle neckÀÌ °É¸®´Â system ¿¡¼­ ÃÖÀûÀÇ tuningÀº?

¸ÕÀú ù Áú¹®Àº '°¡Àå ¸¹ÀÌ ¾²ÀÌ´Â page¸¦ ±âÁØÀ¸·Î ÀâÀ¸¸é ÃÖÀûÀÏ °ÍÀÌ´Ù'
¶ó´Â »ý°¢ÀÌ ±âº»ÀûÀ¸·Î ´ç¿¬È÷ µì´Ï´Ù.ÇÏÁö¸¸ ÀϹÝÀûÀ¸·Î web applicatiom¿¡¼­ page
view°¡Àå ¸¹Àº page´Â ÃʱâÈ­¸é index.htmlÀÏ Å×°í.... ±× ÀÌÈÄ ¸î°³ page¿¡¼­
request°¡ ¸¹ÀÌ µé¾î¿ÃÅÙµ¥.. °ú¿¬ index.html(³»ºÎ¿£ ´Ù¸¥ pageµéÀ» includeÇϰí 
ÀÖÀ» °ÍÀÌ´Ù.)À» ±âÁØÀ¸·Î tuningÀ» ÇØ¾ßÇϴ°¡ ÇÏ´Â Àǹ®ÀÌ »ý±é´Ï´Ù.
application°³¹ß ÈÄ °¡Àå ¸¹Àº page view¸¦ ±â·ÏÇÏ´Â page¿Í ±×ÀÌÇÏ pageµéÀÌ 
´ÙÀ½°ú °°Àº ºóµµ¸¦ º¸Àδٸé..
1 : 2000 page/hour
2 : 500 page/hour (light)
3 : 490  page/hour (heavy)
4 : 480 page/hour (light)
	.
	.
	
¹¹ ÀÌ·± ºóµµ¸¦ º¸ÀÎ´Ù°í °¡Á¤ÇÏ¸é ¾î´À page¿¡ ¸ÂÃߴ°ÍÀÌ ÃÖÀûÀϱ °í¹ÎÇÏ°Ô µË´Ï´Ù.
Á¦ ªÀº ¼Ò°ßÀ¸·Î´Â ù¹øÂ° °°Àº page¸¦ ±âÁØÀ¸·Î tuningÀ» ÇÏ´Â°Í º¸´Ù´Â ù¹øÂ° page¸¦ 
lightÇÏ°Ô °¡´Â°ÍÀÌ ¿ì¼±ÀÎ°Í °°°í...
³ª¸ÓÁö ºñ½Áºñ½ÁÇÑ ºóµµ¸¦ º¸ÀÌ´Â pageµé Áß¿¡¼­´Â °¡Àå heavyÇÑ(ÀÀ´äÀÌ ´Ê´Â) page¸¦ 
±âÁØÀ¸·Î tuningÀ» Çϴ°ÍÀÌ ¾î¶³±î ÇÏ´Â »ý°¢ÀÌ µì´Ï´Ù.
ºñ½ÁÇÑ ºóµµ¸¦ º¸ÀÌ´Â ¸î°³ÀÇ page¸¦ ºñ±³Çغ¸°í »ý°¢Çغ¸¸é 
3¹øÀ» ±âÁØÀ¸·Î saturation point¸¦ ã¾Æ tuningÀ» ÇÑ case´Â 2,4¹øÀÇ °æ¿ì ½ÇÁ¦ production
¿¡¼­´Â 3¹øº¸´Ù ³ôÀº tps¿¡¼­ saturation point¸¦ ³ªÅ¸³¾ °ÍÀÔ´Ï´Ù.
¹Ý´ë·Î 2,4¹øÀ» ±âÁØÀ¸·Î tuningÀ» ÇѰæ¿ì 3¹øÀÇ applicationÀ¸·Î °°Àº ºÎÇϸ¦ ÁÖ¸é
tps°¡ ´õ ³·Àº ½ÃÁ¡¿¡¼­ saturation ÀÌ ¹ß»ýÇÒÅ×°í ÀÌ´Â °æÇÕÀ¸·Î ÀÎÇÏ¿©
buckle zoneÀÌ ³ªÅ¸³¯ °ÍÀ¸·Î ¿¹»óµË´Ï´Ù.
È£ÃâµÇ´Â ºóµµ¼ö°¡ ³ôÀ¸¸ç ¹«°Å¿î applicationÀ» ±âÁØÀ¸·Î tuningÀ» Çϴ°ÍÀÌ ÁÁÀ»µí ÇÏ¿©
3¹øÁ¤µµ¸¦ ±âÁØÀ¸·Î tuningÀ» Çϴ°ÍÀÌ ¾î¶³±î »ý°¢µÇ´Âµ¥ ´Ù¸¥ºÐµéÀÇ ÀǰßÀº ¾î¶°ÇϽŰ¡¿ä?

µÎ¹øÂ° Áú¹®Àº tuning point¸¦ ã±â°¡ Èûµé°ÍÀ¸·Î ¿¹»óµÇ¾î ¿Ã¸®´Â Áú¹®ÀÔ´Ï´Ù.
½ÇÁ¦·Î µ·ÀÌ ¾öû³ª°Ô ¸¹Àº ȸ»ç°¡ ¾Æ´Ï¸é °ªºñ½Ñ H/W ±¸ÀÔÀ» ¸Á¼³ÀÌÁö ¾Ê°í ±¸ÀÔÇÒ È¸»ç´Â 
¾øÀ»µí º¸ÀÔ´Ï´Ù.
½ÇÁ¦ ¿À´Ã ¸ð »çÀÌÆ®¿¡¼­ bmt¸¦ ÁغñÇÏ´Â Áß¿¡ ºÎµúÈù ³­°üÀε¥... 
°¡Á¤Çϸé 3rd tier¿¡¼­ÀÇ request´Â 50À¸·Î Á¦ÇÑÀûÀÔ´Ï´Ù.(50 user license¸¦ ±¸ÀÔÇÑ Å¿¿¡) 
±×¸®°í 3rd-tier ÀÇ H/W capa°¡ Á¦ÇÑÀûÀ̾ bottle neckÀÌ °É¸± ¼ö ÀÖ½À´Ï´Ù.
À̶§ WASÀÇ tuning point¸¦ ¾î¶»°Ô Àâ¾Æ¾ß ÇÒ°ÍÀΰ¡ ÇÏ´Â ¹®Á¦Àε¥...
saturation point´Â ´ç¿¬È÷ WASÀÇ ¼º´É¿¡ ÇÑÂü ¸ø¹ÌÃļ­ ³ªÅ¸³¯Å×°í cpu´Â ³î°í Àִ°ÍÀ¸·Î
º¸ÀϰÍÀÔ´Ï´Ù. ±×¸®°í ¾Æ¸¶µµ buckle zoneÀº ³ªÅ¸³ª±â´Â ÇϰÚÁö¸¸ WAS engine¿¡¼­ÀÇ
contention¿¡ ÀÇÇÑ buckle zoneÀ̶ó±â º¸´Ù´Â 3rd-tierÀÇ contention¿¡ ÀÇÇÑ buckle zone
À̰ÚÁö¿ä..
ÀÌ·±°æ¿ì ¾î¶»°Ô tuningÀ» Çϴ°ÍÀÌ ÃÖÀûÀϱî¿ä?
¶Ç ´ÙÀ½°ú °°Àº scenario¶ó¸é ¾î¶³±î¿ä?
A ¶ó´Â application server´Â ÀûÀº user¼ö¿¡¼­ Á¶±Ý ³ªÀº performance¸¦ ³»°í user¼ö°¡ ¿Ã¶ó°¥
¼ö·Ï B ¶ó´Â application server °¡ A ÀÇ ¼º´ÉÀ» ¶Ù¾î³Ñ¾î ½ÇÁ¦ saturation point¿¡¼­´Â 
ÈξÀ ³ªÀº ¼º´ÉÀ» º¸Àδٸé ÀÌ case¿¡¼­ÀÇ BMT¿¡¼­ A application server°¡ ¼º´ÉÀÌ ³´´Ù°í 
º¼ ¼ö ÀÖ°Ú½À´Ï±î?
ÇöÀç·Î¼­´Â A°¡ ´õ ÁÁ¾Æº¸ÀÌÁö¸¸ ÇâÈÄ È®À强À» °í·ÁÇØº¼¶§ ³ªÁß¿¡´Â B°¡ ´õ ³ª¾ÆÁö°ÚÁö¿ä.

¿©·¯ °í¼ö´ÔµéÀÇ ÀǰßÀ» µè°í ½Í¾î ±ÛÀ» ¿Ã¸³´Ï´Ù...^^

Á¶¾ð ºÎʵ右´Ï´Ù.
Á¦¸ñ : Re: tuning point´Â ¾î¶»°Ô Àâ¾Æ¾ß ÃÖÀûÀϱî¿ä?
±Û¾´ÀÌ: ozjames(guest) 2001/04/06 02:41:50 Á¶È¸¼ö:1117 ÁÙ¼ö:31
¿µ»ó¾¾..¿À·£¸¸À̱º¿ä...

¾Æ·¡ÀÇ Àǰ߿¡ ´ëÇÑ ÀúÀÇ »ý°¢Àº ÀÌ·¸½À´Ï´Ù...
(¾Ñ~ Àú´Â °í¼ö°¡ ¾Æ´Ñµ¥ ÀúÀÇ ÀǰßÀ» Àû¾îµµ µÇ³ª¿ä???)

¸ÕÀú..Çϳª ¶Ç´Â µÎ°³Á¤µµÀÇ ³»¿ëÀ» °¡Áö°í ÇÏ´Â BMT°¡ ¾Æ´Ï¶ó¸é
¾î´À ƯÁ¤ Application¿¡ ¸ÂÃ߾ TuningÀ» ÇÏ´Â °Í º¸´Ù´Â
AKToolÀ̳ª e-Globalµî¿¡¼­ »ç¿ëÇÏ´Â °Í ó·³ ÀÏÁ¤ÇÑ ½Ã³ª¸®¿À¸¦ ÀÛ¼ºÇؼ­,
(¹°·Ð °¡Àå ¸¹ÀÌ ¾²´Â PatternÀ¸·Î ½Ã³ª¸®¿À¸¦ ÀÛ¼ºÇÏ´Â °ÍÀÌ Áß¿äÇϰÚÁö¿ä...)
±× ½Ã³ª¸®¿À¿¡ ¸ÂÃ߾ Tuning Point¸¦ Àâ´Â°ÍÀÌ °¡Àå ÁÁÀ» °Í °°³×¿ä...


±Û±¸ µÎ¹øÂ° Áú¹®...¿ª½Ã ³¯Ä«·Î¿î Áú¹®À̱º¿ä ^*^
¾Æ·¡ÀÇ DBW ½ÎÀÌÆ®ÀÇ BMT¶ó¸é ±×³É 50°³¸¸ µ¿½Ã¿¡ ó¸®Çϵµ·Ï SettingÀ» ÇÏ¸é µÉ °Í 
°°Àºµ¥¿ä...
¿¹¸¦ µé¸é MaxClient 60, Max OSE connection 50 Á¤µµ·Î.(DB´Â »ç¿ëÇÏÁö ¾ÊÀ¸´Ï »ó°ü¾ø°í)
MaxClient¸¦ 60 Á¤µµ·Î »ý°¢ÇÑ °ÍÀº ¾îÂ¥ÇÇ ½Ã½ºÅÛ¿¡´Â º° ºÎÇϰ¡ ¾øÀ»Å×´Ï, 50°³ÀÇ 
OSE°¡ ¸ðµÎ »ç¿ëÁßÀ϶§ ³ª¸ÓÁö ¿äûµéÀÌ Network»ó¿¡¼­ ´ë±âÇÏ´Â °Í º¸´Ù´Â 
http connectionÀ» ¸ÎÀº ÈÄ ´ë±âÇÏ´Â °ÍÀÌ Á» ´õ ºü¸¥ È¿°ú¸¦ ³»Áö ¾ÊÀ»±î¶ó´Â 
»ý°¢ÀÔ´Ï´Ù...
ÇÏÁö¸¸ À̰ÍÀº ´Ü¼øÈ÷ ÀúÀÇ »ý°¢ÀÌ°í ²À, ÇÊÈ÷ AKTool·Î Test¸¦ ÇÑ ÈÄ ParameterµéÀ»
SettingÇØ¾ß ÇÕ´Ï´Ù...WebSphere Performance Guide¿¡ Ç×»ó ³ª¿À´Â ¸»Áß¿¡ Çϳª°¡ 
'Bigger is not better'À̵íÀÌ ´õ ÀÛÀº ¼öÄ¡·Îµµ ²À Stress Test¸¦ ¹Ì¸® ÇØº¸¼¼¿ä...
¶ÇÇÑ Resource Anayzer³ª m.jspµîÀ¸·Î JVMÀÇ »óŸ¦ È®ÀÎÇÏ¿© JVM Heap Size¸¦ 
Á¶Á¤ÇÏ´Â °Íµµ Áß¿äÇÑ ¿ä¼Ò°¡ µÉ °Í °°±¸¿ä...

±×¸®°í ¾Æ·¡ÀÇ ³»¿ëó·³ ¸¸¾à ÇâÈÄÀÇ È®À强¿¡ ´ëÇØ¼­´Â °í°´°ú ÇùÀǸ¦ ÇÏ´Â°Ô 
¹Ù¶÷Á÷ÇÏÁö ¾ÊÀ»±î¿ä???

ÀÌ»ó Æò¹ÎÀÎ ÀúÀÇ ÂªÀº ¼Ò°ßÀ̾ú½À´Ï´Ù....
°¨»çÇÕ´Ï´Ù...
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]