Determine number of wls threads and instances BEA Systems Korea Byungwook Cho Date 10/May 2004                            ...
AGENDA Determine # of WebLogic Instance 1 Determine # of WebLogic Process 2 3 Q&A
Determine number of WLS Thread
1.  Response Time & Think Time <ul><li>Response Time </li></ul><ul><li>Think Time </li></ul><ul><li>Request Interval </li>...
2. Concurrent User <ul><li>What is concurrent user? </li></ul><ul><li>We will  define  – the user  who is in front of comp...
3. Active User <ul><li>What is active user? </li></ul><ul><li>We will  define  – the user who is in transaction </li></ul>...
3. Active User <ul><li>Active User from Concurrent User </li></ul><ul><ul><li>Active User = (Concurrent User) * (Response ...
4. TPS <ul><li>What is TPS  </li></ul><ul><ul><li>Throughput(Active User) Per Second     (TT=0 으로 하고 측정가 ) </li></ul></ul...
4. TPS   TPS  = Throughput / measured time [seconds] = number of response / measured time [seconds] = number of request  /...
4. TPS <ul><li>Measuring TPS </li></ul><ul><ul><li>From Access Log (# of request) </li></ul></ul><ul><ul><li>From WebLogic...
5. Formula <ul><li>TPS = (Active User) / (Average Response Time) – F1 </li></ul><ul><li>TPS = (Concurrent User) / (Request...
6.  Test <ul><li># of thread from formula is just basic (min value) </li></ul><ul><li>You must find max value by STRESS TE...
Determine number of WLS Instance
1. Determine # of WLS instance <ul><li>There is no formula but many factors exist. </li></ul><ul><li>Normally just one ins...
2. # of Instance Determine Factor <ul><li>Memory Size </li></ul><ul><li>Number Of Threads </li></ul><ul><li>Number Of GC a...
3. Factors <ul><li>Memory Size </li></ul><ul><ul><li>JVM Heap size is less than 1GB </li></ul></ul><ul><ul><li>When (Logic...
3. Factors <ul><li>Number of GC and Time of GC </li></ul><ul><ul><li>When Full GC occurred, Application is stopped. </li><...
4. Determine # of WLS Instance Summary  <ul><li>1 Instance </li></ul><ul><ul><li>One domain should be consists of more tha...
How to? Define performance Objective Making Test scenario Determine # of threads and instances Test Tuning Monitoring in p...
<ul><li>Q&A </li></ul>
<ul><li>Thank you~~ </li></ul>BEA Systems Korea Customer Support Team WebLogic Specialist  Byungwook Cho
Upcoming SlideShare
Loading in …5
×

Planning Number Of Instance And Thread In Web Application Server

12,534 views
12,455 views

Published on

Describes how to estimate number of thread and number of instance of Web Application Server in J2EE World.

Published in: Business, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,534
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
164
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Planning Number Of Instance And Thread In Web Application Server

  1. 1. Determine number of wls threads and instances BEA Systems Korea Byungwook Cho Date 10/May 2004                                         
  2. 2. AGENDA Determine # of WebLogic Instance 1 Determine # of WebLogic Process 2 3 Q&A
  3. 3. Determine number of WLS Thread
  4. 4. 1. Response Time & Think Time <ul><li>Response Time </li></ul><ul><li>Think Time </li></ul><ul><li>Request Interval </li></ul><ul><li>Visit Time </li></ul>Response Time Think Time Transaction Time Response Network Time Request Network Time Click Click Request Interval
  5. 5. 2. Concurrent User <ul><li>What is concurrent user? </li></ul><ul><li>We will define – the user who is in front of computer to use system </li></ul>10 분 시간 사용자 A 사용자 B 사용자 C 사용자 D 사용자 E Think Time Response Time 각각의 다른 IP 10 분간 동시 사용자 3 명 Visit Time
  6. 6. 3. Active User <ul><li>What is active user? </li></ul><ul><li>We will define – the user who is in transaction </li></ul><ul><li>It is almost same as “ number of WLS thread ” </li></ul>시간 사용자 A 사용자 B 사용자 C 사용자 D 사용자 E Response Time 순간 Active User 3 명 ( 사용자 A,B,C) 동시 사용자 5 명
  7. 7. 3. Active User <ul><li>Active User from Concurrent User </li></ul><ul><ul><li>Active User = (Concurrent User) * (Response Time / Request Interval) </li></ul></ul>시간 사용자 A 사용자 B 사용자 C 사용자 D 사용자 E Request Interval
  8. 8. 4. TPS <ul><li>What is TPS </li></ul><ul><ul><li>Throughput(Active User) Per Second  (TT=0 으로 하고 측정가 ) </li></ul></ul><ul><ul><li>Measured by access log and Weblogic MBean </li></ul></ul>사용자 A 사용자 B 사용자 C 사용자 D 사용자 E Response Time (ex 2sec) TPS=5/2 = 2.5 TPS
  9. 9. 4. TPS   TPS = Throughput / measured time [seconds] = number of response / measured time [seconds] = number of request / measured time [seconds] = (Active User) / (Average Response Time) – F1 = (Concurrent User) / (Request Interval) – F2 = (Concurrent User) / (AVRT + AVTT)  
  10. 10. 4. TPS <ul><li>Measuring TPS </li></ul><ul><ul><li>From Access Log (# of request) </li></ul></ul><ul><ul><li>From WebLogic Console/Monitoring </li></ul></ul><ul><ul><li>From WebLogic MBean </li></ul></ul>
  11. 11. 5. Formula <ul><li>TPS = (Active User) / (Average Response Time) – F1 </li></ul><ul><li>TPS = (Concurrent User) / (Request Interval) – F2 </li></ul><ul><li>Active User = TPS * (Average Response Time) – F3 </li></ul><ul><li>Active User = (Concurrent User) * (Average Response Time) / (Request Interval) – F4 </li></ul><ul><li>Active User = (Concurrent User) * (Average Response Time) / [ (Average Response Time) + (Average Think Time) ] – F5 </li></ul><ul><li>Example) 동시에 사용자 300 명 , 응답시간은 3 초이내 , Think Time 은 15 초 </li></ul><ul><ul><li>F5 에 따라서 Active User = 300 * 3 / (3+15) = 50  적정 쓰레드는 50 개 이상 </li></ul></ul>
  12. 12. 6. Test <ul><li># of thread from formula is just basic (min value) </li></ul><ul><li>You must find max value by STRESS TEST </li></ul><ul><li>And You must find appropriate value by monitoring WLS and tune it. – depends on JVM & AP </li></ul><ul><ul><li>※ big number of thread could reduce performance. (normally 50~100 thread per instance is recommended) </li></ul></ul>
  13. 13. Determine number of WLS Instance
  14. 14. 1. Determine # of WLS instance <ul><li>There is no formula but many factors exist. </li></ul><ul><li>Normally just one instance per box is fastest. </li></ul>
  15. 15. 2. # of Instance Determine Factor <ul><li>Memory Size </li></ul><ul><li>Number Of Threads </li></ul><ul><li>Number Of GC and Time Of GC </li></ul><ul><li>Number Of CPU </li></ul><ul><li>Fail Over </li></ul>
  16. 16. 3. Factors <ul><li>Memory Size </li></ul><ul><ul><li>JVM Heap size is less than 1GB </li></ul></ul><ul><ul><li>When (Logical memory size > Physical memory size)  DISK SWAP OCCURRED  It brings slow down or other trouble </li></ul></ul><ul><li>Number of Threads </li></ul><ul><ul><li>Number of Threads is related on # of active users. </li></ul></ul><ul><ul><li>50~100 threads per instance recommended. </li></ul></ul>
  17. 17. 3. Factors <ul><li>Number of GC and Time of GC </li></ul><ul><ul><li>When Full GC occurred, Application is stopped. </li></ul></ul><ul><ul><li>Number of GC  3~5 Times in a day (WAS) </li></ul></ul><ul><ul><li>Time of GC  3~5 seconds recommended (WAS) </li></ul></ul><ul><li>Number of CPU </li></ul><ul><ul><li>One instance required 1~2 CPU needed. </li></ul></ul><ul><li>Fail Over </li></ul><ul><ul><li>Prepare for crash </li></ul></ul><ul><ul><li>Clustering, Domain </li></ul></ul>
  18. 18. 4. Determine # of WLS Instance Summary <ul><li>1 Instance </li></ul><ul><ul><li>One domain should be consists of more than two instance </li></ul></ul><ul><ul><li>Java Heap should be less than 1GB. </li></ul></ul><ul><ul><li>Number of threads in one WLS instance are recommended to 50~100 </li></ul></ul><ul><ul><li>Number of Full GC is about 5times per day. </li></ul></ul><ul><ul><li>Time of Full GC is about 3~4 seconds </li></ul></ul>
  19. 19. How to? Define performance Objective Making Test scenario Determine # of threads and instances Test Tuning Monitoring in production Tuning <ul><li># of GC </li></ul><ul><li>GC Time </li></ul><ul><li>Response Time </li></ul><ul><li>CPU Usage </li></ul><ul><li># of idle threads </li></ul><ul><li>Concurrent User,AVTT,AVRT </li></ul><ul><li># of GC </li></ul><ul><li>GC Time </li></ul><ul><li>Response Time </li></ul><ul><li>CPU Usage </li></ul><ul><li># of idle threads </li></ul><ul><li>E-AVTT,E-AVRT,E-Concurrent User </li></ul><ul><li>Stress Test Tool / Load Runner </li></ul><ul><li>Field Test </li></ul>Very Important!!
  20. 20. <ul><li>Q&A </li></ul>
  21. 21. <ul><li>Thank you~~ </li></ul>BEA Systems Korea Customer Support Team WebLogic Specialist Byungwook Cho

×