Performance 2002 21 javaservicehanmail net Copyrightc 2002 Java

  • Slides: 43
Download presentation
웹 기반 시스템 하에서의 성능(Performance)에 관한 이론적 고찰 2002. 21 자바서비스넷 이원영 javaservice@hanmail. net

웹 기반 시스템 하에서의 성능(Performance)에 관한 이론적 고찰 2002. 21 자바서비스넷 이원영 javaservice@hanmail. net Copyright(c) 2002 Java. Service. Net 1

1. Performance Concept Copyright(c) 2002 Java. Service. Net 2

1. Performance Concept Copyright(c) 2002 Java. Service. Net 2

What is the performance ? A B http: //www. foo. com/servlet/A http: //www. bar.

What is the performance ? A B http: //www. foo. com/servlet/A http: //www. bar. com/servlet/B 단위응답시간 1 seconds 단위응답시간 5 seconds Copyright(c) 2002 Java. Service. Net 3

Water Pipe Response Time Key Point : 단위시간당 전송된 물의 량 Copyright(c) 2002 Java.

Water Pipe Response Time Key Point : 단위시간당 전송된 물의 량 Copyright(c) 2002 Java. Service. Net 5

Performance 측정 Tool - Load. Runner Mercury Interactive Corporation : http: //www. merc-int. com

Performance 측정 Tool - Load. Runner Mercury Interactive Corporation : http: //www. merc-int. com - Microsoft Web Application Test Tool http: //webtool. rte. microsoft. com - Apache Bench $apache/bin/ab - Apache JMeter http: //www. apache. org - IBM AKTools http: //aktools. raleigh. ibm. com Copyright(c) 2002 Java. Service. Net 7

Performance - TPS & Response Mean Time Copyright(c) 2002 Java. Service. Net 9

Performance - TPS & Response Mean Time Copyright(c) 2002 Java. Service. Net 9

Performance 의 정의 - Maximum TPS(Transaction Per Second), TPM(… per minute) - 단위시간당 최대

Performance 의 정의 - Maximum TPS(Transaction Per Second), TPM(… per minute) - 단위시간당 최대 처리가능건수 - Maximum RPS(Request Per Second) - Maximum PPS(Page Per Second) - Active Clients 에 대한 TPS 그래프에서 최대TPS수치 최대 TPS Copyright(c) 2002 Java. Service. Net 10

Tuning 에 관련한 용어 Saturation Point TPS(Transaction/sec) TPS (Transaction Per Second) Saturation Point Light-load

Tuning 에 관련한 용어 Saturation Point TPS(Transaction/sec) TPS (Transaction Per Second) Saturation Point Light-load zone Heavy-load zone Buckle zone Light-load Heavy load zone Buckle zone A B C Active Clients Copyright(c) 2002 Java. Service. Net 11

Tuning 에 따른 평균응답시간의 변화 Copyright(c) 2002 Java. Service. Net 12

Tuning 에 따른 평균응답시간의 변화 Copyright(c) 2002 Java. Service. Net 12

Tuning 에 따른 TPS의 변화 Copyright(c) 2002 Java. Service. Net 13

Tuning 에 따른 TPS의 변화 Copyright(c) 2002 Java. Service. Net 13

Tuning 에 따른 TPS/RT의 변화 Copyright(c) 2002 Java. Service. Net 14

Tuning 에 따른 TPS/RT의 변화 Copyright(c) 2002 Java. Service. Net 14

Tuning 에 따른 TPS의 변화(2) Throughput(transaction/sec) Saturation Point Tuning Key Effect (83. 33 -65.

Tuning 에 따른 TPS의 변화(2) Throughput(transaction/sec) Saturation Point Tuning Key Effect (83. 33 -65. 22)/65. 22 * 100 28% 의 성능향상 Light-load A Heavy load zone B Buckle zone C Active Clients Copyright(c) 2002 Java. Service. Net 15

Tuning 에 따른 TPS/RT의 변화(3) B A Copyright(c) 2002 Java. Service. Net 16

Tuning 에 따른 TPS/RT의 변화(3) B A Copyright(c) 2002 Java. Service. Net 16

Performance Tuning Points – cont. . SMP Scaling - Servlet Primitives (1 -CPU, 2

Performance Tuning Points – cont. . SMP Scaling - Servlet Primitives (1 -CPU, 2 -CPU, 4 -CPU) Copyright(c) 2002 Java. Service. Net 18

Performance Tuning Points – cont. . Vertical scaling with Web. Sphere workload management NOTE:

Performance Tuning Points – cont. . Vertical scaling with Web. Sphere workload management NOTE: 4 -way 이하에서는 Cloning 의 효과가 거의 없다. App. Server 하나 만으로도 CPU 100%를 사용한다. Copyright(c) 2002 Java. Service. Net 19

Performance Tuning Points – cont. . Machine Cluster Scaling with Network Dispatcher Copyright(c) 2002

Performance Tuning Points – cont. . Machine Cluster Scaling with Network Dispatcher Copyright(c) 2002 Java. Service. Net 20

N/W Line Bandwidth - bps : bit per second (1 byte = 8 bit,

N/W Line Bandwidth - bps : bit per second (1 byte = 8 bit, 1 Kbyte = 1024 byte) - T 1 : 1. 544 Mbps(1. 5 Mbps) - E 1 : 2. 048 Mbps (2 Mbps) - T 3 : 43. 7361 Mbps (45 Mbps) - OC 3 : 155. 2 Mpbs - 10 Mbps, 100 Mbps - 10 Mbps급: 실전송속도의 60%라고 한다면 실전송속도 6 Mbps = 6*1024(Kbps) = 6*1024/8(KB/sec) = 768(KB/sec) 10 K data전송 : 768(KB/sec) / 10(KB) = 76. 8 TPS 100 Kdata 전송 : 768(KB/sec) / 100(KB) = 7. 68 TPS - 100 Mbps 의 경우, 이것의 10배 향상 - T 1 위 경우, 실전송속도가 80%라고 한다면, 10 K전송시 158. 1(KB/sec) / 10(KB) = 15. 8 TPS 100 K 전송시 : 1. 58 TPS Copyright(c) 2002 Java. Service. Net 21

2. Concurrent Users Copyright(c) 2002 Java. Service. Net 22

2. Concurrent Users Copyright(c) 2002 Java. Service. Net 22

K-Internet Banking System 재오픈 2001. 10. 13 (토) Internet F/W A 45 Mbps x

K-Internet Banking System 재오픈 2001. 10. 13 (토) Internet F/W A 45 Mbps x 2 L 7(1) Internet Clients 900 -1, 200 sessions per F/W (Max: 7000 per F/W) F/W 900 -1, 200 sessions per F/W (Max: 7000 per F/W) Timeout: 30 min Internet Banking System L 7(2) 1 2 3 4 5 250 user x 3 = 750 users Timeout: 15 min B 1, 200 -1, 400 sessions L 7 600 concurrent sessions per server Timeout : 15 min Inner users C System operators Backend System Which is the concurrent users? - L 4 Switching Device concurrent sessions(2 hours) - F/W sessions(2 hours) - Servlet Http. Session sessions(30 minutes) - Application Login count(10 minutes) - “netstat –n | grep. 80 | grep EST | wc –l” 6 7 IBM RS 6000 SP (4 -way, 2 GB) Copyright(c) 2002 Java. Service. Net - 현재 Request 를 날리고, 응답을 기다리고 있는 사용자 - 현재 해당 시스템을 사용하기 위해 PC앞에 앉아 있는 사용자 (Terminal Users) 23

What’s Concurrent Users ? - L 4 Switching Device concurrent sessions(2 hours) - F/W

What’s Concurrent Users ? - L 4 Switching Device concurrent sessions(2 hours) - F/W sessions(2 hours) - Servlet Http. Session sessions(30 minutes) - Application Login count(10 minutes) - “netstat –n | grep. 80 | grep EST | wc –l” Key Point : - 부하량을 측정하기위한 단위 - 즉, 단위시간당 흐른 물의 양 Copyright(c) 2002 Java. Service. Net 24

“Concurrent Users(동시단말사용자)” 어떻게 구할 것인가 ? 특정 시각을 기준으로 10분 전후 모두 한번 이상

“Concurrent Users(동시단말사용자)” 어떻게 구할 것인가 ? 특정 시각을 기준으로 10분 전후 모두 한번 이상 호출된, 서로 다른 IP Address 의 개수 Apache access_log 단점 : - Proxy IP Address - e. ND or L 7: 대표IP 대안: è Http. Session ID 10: 30 Concurrent Users : 6명 Copyright(c) 2002 Java. Service. Net 26

Concurrent Users Sample 1 : H-사이트 Copyright(c) 2002 Java. Service. Net 27

Concurrent Users Sample 1 : H-사이트 Copyright(c) 2002 Java. Service. Net 27

Concurrent Users Sample 1 : D-사이트 Copyright(c) 2002 Java. Service. Net 29

Concurrent Users Sample 1 : D-사이트 Copyright(c) 2002 Java. Service. Net 29

How many maximum users ? Example : app 1. jsp 83. 33 1409 120

How many maximum users ? Example : app 1. jsp 83. 33 1409 120 Maximum TPS : 83. 33 means 833 persons who are hitting every 10 seconds !!! Suppose : Clients request every 10 seconds. Copyright(c) 2002 Java. Service. Net 30

How many maximum users ? Example : app 1. jsp Max Users = Active

How many maximum users ? Example : app 1. jsp Max Users = Active Clients x 120 120 r = 1, 409 t-r = 8, 591 {t/r} Active Clients Mean Response AC x { t / r } 10 533 188 50 734 681 120 1409 852 160 1871 855 200 2283 876 250 2853 876 t = 10, 000 120 명 Copyright(c) 2002 Java. Service. Net 31

How many maximum users ? Concurrent Users = S. Point x ( t /

How many maximum users ? Concurrent Users = S. Point x ( t / r ) Concurrent Users 852 120 Appendix F Copyright(c) 2002 Java. Service. Net Active Clients 32

How many maximum users ? C/S Env Example : app 1. jsp Concurrent Users

How many maximum users ? C/S Env Example : app 1. jsp Concurrent Users = Active Clients x r = 1, 409 t = 10, 000 { (r+t) / r } Active Clients Mean Response AC x (t/r) AC x { (r+t) / r } 10 533 188 197 50 734 681 731 120 1409 852 972 160 1871 855 1015 200 2283 876 1076 250 2853 876 1126 t + r 120 명 Copyright(c) 2002 Java. Service. Net 33

How many maximum users ? C/S Env. Concurrent Users C/S Concurrent Users = AC

How many maximum users ? C/S Env. Concurrent Users C/S Concurrent Users = AC x { (r+ t) / r } 972 852 120 Appendix F Active Clients Copyright(c) 2002 Java. Service. Net 34

Acceptable Response Time Copyright(c) 2002 Java. Service. Net 36

Acceptable Response Time Copyright(c) 2002 Java. Service. Net 36

3. Performance Measurement In real environment Copyright(c) 2002 Java. Service. Net 38

3. Performance Measurement In real environment Copyright(c) 2002 Java. Service. Net 38

2 Applications TPS 40 A application B application TPS 40 20 Saturation Point 40

2 Applications TPS 40 A application B application TPS 40 20 Saturation Point 40 Active Threads [Graph 1] 40 Active Threads [Graph 2] TPS 40 B 10 B 5 10 20 40 Active Threads [Graph 4] TPS 40 A [Graph 3] B 15 10 30 40 Active Threads [Graph 5] TPS 40 B TPS 40 A 30 A 20 20 20 Saturation Point TPS 40 40 A 10 30 40 Active Threads [Graph 6] TPS 40 30 20 20 10 15 10 5 A [Graph 7] B Copyright(c) 2002 Java. Service. Net A B [Graph 8] A B [Graph 9] 39

2 Applications A 40 30 20 10 10 Copyright(c) 2002 Java. Service. Net 20

2 Applications A 40 30 20 10 10 Copyright(c) 2002 Java. Service. Net 20 B 40

2 Applications y T 2 (0, T 2) x + T 1 y T

2 Applications y T 2 (0, T 2) x + T 1 y T 2 = 1 x Q t 1 y t 2 P t 2 (t 1, t 2) (0, 0) O = (T 1, 0) t 1 T 1 Copyright(c) 2002 Java. Service. Net x 41

3 Applications z T 3 (0, 0, T 3) x t 3 t 1

3 Applications z T 3 (0, 0, T 3) x t 3 t 1 = y t 2 = z t 3 Q P (t 1, t 2, t 3) (0, 0) (0, T 2, 0) t 2 O T 1 t 1 (T 1, 0, 0) x T 1 + y T 2 + z T 3 T 2 y = 1 x Copyright(c) 2002 Java. Service. Net 42

n- Applications Copyright(c) 2002 Java. Service. Net 43

n- Applications Copyright(c) 2002 Java. Service. Net 43