Top Banner
- Slide1 - http://grigg.chungnam. ac .kr/-pckim 0 0 .::::: '- -Sli de2- 75 - KRNET 97 KRNET 97
12

데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

Jul 07, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

데이타베이스 통로 구조의 성능 평가

- Slide1 -

김평철

http://grigg.chungnam. ac. kr/-pckim

충남대학교정보통신컴퓨터공학부

목 차

• 웹과데이타베이스의 연동개념

• 더 I 0 I 타버I 0 I 스통로의 구조분류

• UniWeb의 구현 • 데이타베이스 통로 구조의 성능 평가 • "7킹료르

.::::: '-

-Slide2-

75 -

KRNET ‘ 97

KRNET ’ 97

Page 2: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

웹과데이타베이스의 연동개녕

톨라이언트

URUHTfPIHTML

톨휠(톨로)

셔버

-S l ide3 -

데01타빼01스 ;(1스탬

데이타배이스 를용셔버

데이타베이스통로의 구조분

• 구조분류체계 데이타베이스 쩔근

서버혹 롤라이언트혹

KRNET '97

CGI 확장 API) 헌용서버 외부뷰어 브라무저 확장

걷판뺀폰흩)c효덴혼혼선번

* 각 구호에 CI tf XlAltf M PJ혼 htψ:llgrigg.chungnam.ac.krltech-reports/1997.πRlTR97U01.z,φ 홈죠

-Slide4- KRNET’ 97

- 76 -

Page 3: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

UniWeb의 개요

- UniSQLlX 지 원 ( 타 DBMS 확장 중) - CGI/API 응용서 버 구조

-상태관리

-ACID 트랜잭션 지원

- 확장 TcI 스크립 트(UniTcl)를 HTML어| 포함

-분산응용서버 지원

- 충남대와 한국컴퓨터통신(주) 공동 개 발

- UniWeb 3.0

-Sl ide5-

UniWeb의 실행구조

뭘셔버

HTML

스크링트

CGI 요구 IIH.매L 파의영

- Sl ide6-

HTML

Bulletin Board

- 77 -

UniTcl Server

UniTcl+HTML

KRNET '97

혜이타베이스

KRNET '97

Page 4: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

UniWeb의 실행구조 (계속)

.디스패처

- CGI 실행화일

• 웹서버와 프로세스 파이프로 연결

• 각 요구마다 프로세스 생성/종료

- 사용자의 CGI 요구를 UniTcI 서 버 로 전 달 - URL 형식:

<CGI 경 로>1<디 스패처 >1<스크립 트화일영 >[/<상태 식 볕 자>] ?QUERY_STRING

- GET, POST METHOD 지 원

- Bulletin Board를 참조하여 해 당 UniTcl 서 버 찾음 - API 응용서 버 구조에 서 는 API 프로그램 으로 웹 서버와동적으로 연결되어 수행

-Sli de 7- KR매ET ’ 97

UniWeb의 실행구조 (계속)

• UniTcl Server - 요구된 스크립트 화일으I UniTcl 명령 수행 - 디스패처와 socket으로 연결

- 시스템 부하에 따라 서버 갯수 조절

- 상태 및 트랜잭션 관리

- 여러 호스트에 분산 배치 가능

• Bulletin Board - 각 UniTcl Server의 정 보를 shared memory에 기 록

• 프로세서 정보 (크기, 우선순위 등)

• 상태 식멸자

• 통신 채널 정보 (호스트, port 번호 등)

• 기타 통계 정보 (시작시각, 처리건수 등)

-Sl ide8- KRNET’ 97

- 78 -

Page 5: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

UniWeb의 개발언어: UniTcl

• 왜 TcI인 7~? • Resuable scripting language:

- C-library 형 태 의 interpreter - 필수의 프로그래밍 기능 포함(변수, 제어, 합수 등)

- 새로운기능추가용이

• Sun에서 공급하는 소스수준 공용 소프트웨어

• cross-platform: Unix, Win{3.1 ,NT,95}, Mac, etc.

• 많은사용자규모

• 웹 환경 개발언어로 부상: - TclπK plug-in 출시 - Tcl-JDBC 개 발중 - “Sun Lab. believes TcνTk could be as pop미'ar as Java."

- Slide9- KRNET ' 97

UniWeb으| 개 발언 어 : UniTcl (겨| 속)

• UniTcl으| 소프트웨 어 구조

init load

-Slide10-

- 79-

UniSQLIX Engine

KRNET ’ 97

Page 6: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

UniWeb의 개발언어: UniTcl (계속)

• UniTcI 명령어 요약

I-­우 -과 -앓

한 -.따

마 -빼

키 -a. 스

-뻐-

뭘외쳐리 전답메시지

uw_msg(sqlcode) uw_msg(sqlmsg) uw_msg(sqlres) uw_msg(sqlnu’1)

uw dalabase env uw_open_sql uw_close_sql uw_exec_sql uw fetch uw fetch oid

uw class attributes uw methods uw class methods uw method files uw_query _spec uw subclasses uw_superclasses uw all classes

uw colnames uw_get uw_put uw_output uw whenever

기타

uw session id uw_find_entry

uw all vclasses

-Sl ide11- KRNET ‘ 97

UniWeb의 개 발언 어 : UniTcl (계 속)

• UniTcI+HTML 여| 저| <BODY> [ uw_database_env testdb

set class [uw_f1nd_entry class); set sql ‘ select • from $class" set handle [uw_open_sql $sql) uw_ouφut $handle; # use default TABlE format output

<P><TABlE BORDER=1> [ uw_cursor first $handle; # TABlE output using iteration

while ($uw_msg(sqlcode) == O} ( set tuple [uw_fetch $handle) puts ‘ <TR>" foreach ∞I $tuple {

puts ‘ <TD>$col" } uw_cursor next $handle

} uw_close_sql $handle

〈πABlE>

-Sl ide12- KRNET ’ 97

- 80 -

Page 7: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

• UniWeb의 상태 관리

- 서 버 쪽 관리 (UniTcI server dedication)

- 상태 식 별 자를 암호화하여 Cookie로 전 송

-시간제한을이용한상태 해제

a.html I [U,^ιGONTROL keep-session=yes timeout=60 ... ) set sid [uw_sessionjd) set name ’pckim’ <A HREF=" .. .IdisDatcherlb.html/$sid"> .... </A>

[UW_CONTROL keep-session=no ... ) set sql ‘ select • from person where name = $name"

- Sl ide13 - KRNET '97

UniWeb의 트랜잭션 지원

- 기존으I ACID 트랜잭션 지원

- 하나의 상태(세션)에 복수의 트랜잭션 지원

- 하나의 페이지에 복수의 트랜잭션 포함 가능

- 하나의 트랜잭션이 복수의 페이지에 걸쳐 생성될 즈느 。| 즈느

1 M 0:그

• long-duration wait 미 해 결 (연 구중)

- 시간제한으로 인한 세션종료시 해당 트랜잭션 복귀

- UniSQUX으| 트랜잭선 관련 모든 기능 지원: • commitlrollback/savepoint

• isolation level

- Slide14- KRNET ’ 97

- 81 -

Page 8: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

웹 서버의 성능평가도구

• Webpest - 웹 환경을 큐잉 네트워크로 모델링

• 모든 웹 요구는 서로 독립적으로 요구된다는 가정

• 하나의 클라이언트 시스템에서 웹 요구를 지수분포 간격으로발생시킴

- GET, HEAO, POST 방법 제 공 - 장점: 실험 환경 구축 용이

- 단점: 클라이언트 시스템의 자원 부족 문제

• 71 타: WebSTONE , SPECweb96 , etc .

- Sl ide15- KRNET ’ 97

평가 대상 데이타베이스 통로 구조

-CGI 실행 화일

-CGI 응용서버

-API 응용서버

* 클라이언트 쪽 확장은 통신 비용으로 성능 저하

* 전용서버 .방식은 API확장 방식과성능 특성이 같음

-Slide16- KRNET '97

- 82 -

Page 9: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

클라이언트

-Slide17-

성능평가구조

서버

CGI 십뺑화일구조

CGI 용용서버구조

성능평가인자

r 4

• 성능 평가에 사용된 시스템 사앙

공간

운영 셰껴

속도

Sol.ris 2 “

3000

2

성능 평가에 사용된 서버의 프로세스 인자

생 서버 최대 요구 갯수

CGl 웅용서벼 갯수 데이타에이스용로

APl 용용서버 갯수

동시 요구 갯수

각요구의 시간 갱랑 DBMS

데이타베이스 크기

버퍼 크기

-Slide18-

- 83-

32 개

Z 개

2 개

100 개

3아lms

8어이B

2MB

데이타빼

KRNET '97

10

KRNET ’ 97

Page 10: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

데이타베이스 및 질의

;<;:101 즈~ ... 2-1 ζ, -rr

질외 총4 연산 총휴

QI 잉 71

Ql 잉 71

Ql 입 71

Q‘ i171

“앙도 경역 에이타 크기

단순 하나의 ”훌

연순 여러 '.의 ~.

단순 Ii용 '. 수의 류g

“앙 여러 7. 외 휴흩

Q’ 임기 앙순 하냐왜 B LO B tl 이타

q ‘ ’ i~ '\ 1쓰 71 약간 ‘상

데이타베이스스키마 CREATE 10.1_띠ass {

안연 앙

i1 integer unlque n이 nuR; α integer; 13 이·끼100) ;

b x11 b1tIT‘ P‘

CREATE INDEX ON tost_dlss(ll); CREATE INDEX ON tes,-da5.(i2)‘

CREATE ’ NDEXC에 tesCdass(녀) ;

-Slide19-

SQUX 질의 01 ; SElECT 11 . 딩. 13 .•

FROM test class w-tERE 11 • : random(100α10);

。2 : SElECT 11. 12‘ 13 •• FRC써 test 이1 .. 'll\ttiERE i2. :random(4000);

03: SELECT 11. 12. 13 .• FROM test class

싸iERE 13' ;nondom(loo0)‘ - 04: SElECTil . 12. 13 .•

FROM test claS5

'MiERE 11 < 1000 AND 12 > AVG(i2) AND 13> AVG(13)

。RDER BY 13; (딩 , 커서. 이 8ðl0l 처 8 25개민 검색잉)

。5 : SElECT b FROM t.5t 띠1 .. W써ERE 11 • :random(100). 1α10 :

- Q6: UPOA TE lest class SETs. 'mnvn WHERE 11. πndom(loo아}이, (25개 빈를 g 톨앤잊션 윈료)

KRNET ' 97

최소부하평균응답시간

질의 (명균도착간시간) CGI 실행 화일 CGI 웅용 서버 API 웅용 서버

Ql 6400 2909 13 .3 320 1.5 219 (1.0

02 6400 3330 5.6 714 1.2 590 1.0

Q3 6400 4620 4.4 1062 1.0 1048 1.0

Q4 51200 30626 (1.1 26874 (1.0) 28190 (1.0)

5 6400 5612 6.0 1064 1.1 940 1.0

Q6 (6400) 4368 (5.6 866 1.1 774 1.0

-Slide20- KRNET ’ 97

- 84 -

Page 11: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

답시깐 평균 따

부하증가에 ’ i

g S

O

""'" m m

I m‘~

-액 짧 "'''' §

.a.!i6.':간에V (nw)

g § g

-• CXHXE ’ .OO .,JPFIL! -.,.--

§ § §

@

@

@

@

@

@

빼 빼 。。-­。

’""'" ‘""'" g

@

뼈 @

'''''''' 3 s § s g ~ ~ ~ ~

... ‘긴Al U 1_ ’ ... ‘t‘1긴“‘)

03의 용답시간 02의 용답시간 01의 용답시간

1-,-,며..,. ~OO ..... ‘ ~ ..... 암f:L

‘""’

E

액 행 없@ 뺑 §

""'"

’m∞

혈훨:

a @ ~ ~ 8i1'!i. atι.lA1U’ ‘"'

"'" ’‘"""

。。, •

o

e @;

뻗 빼 ‘

@

,=

___.pl  -‘-W-ÐC‘ , --‘←。,___ 즈-""흐E

)I)))X'

쩍 ;뺑

킹 뺑 ·爛

50000

o

""" R 응 § 32CO """ '"‘" .‘’。•• 도“8시ll(ml ‘ •• ‘Ð'ol긴써1

06의 용답시간 05의 용답시간 04의 용답시간

KRNET ‘ 97

부하증가에

j 7

요구실패 따

21 SI ide

g g § § .... ι,,,,",,강”’’

i←。]-ÐCE

→~W_‘ 『←’A___

-

§

’ 。.

。l

0.7 "0.8 i 0.5 ,, 0‘

。 s

。2

。 1

0 ‘ §

• g §

τ -~→, - --

g § § §

•• 도‘ζ씩긴’”’l

§

-W-EXE

→~W’”‘ -.,.‘R

。 .

。.

0.7 .0.8

i 。‘,, 0 ‘

0.3 0.2 0.'

o

§ g g ~ ~ ~ ~ •• ‘’깅셔긴" ’)

’ 。.

。 .

" ." : OS

I 。 ‘" " " o

§

03의 실(때를 심때를 02의 01의i때를

。,

0.' 0.7

"0.8 i O.5

,, 0‘ 0.3 。 2

0.' 。

§ •

’ 0.' 。.。,

.0.8

i O.5 11 0.4

。 3

。 a

o’ 0

§

1

。‘。.

。 7

.0.8

i 0.5 (t 0.4

。 3

0.2 0 .1 。

"""

-‘ , ‘ ‘ ‘ ‘

---

---

5짧훌5

g g § § lilí'‘αR!'에

§ § § g g § § .공도‘&-llt (1ft)

§ § ".. "... ,,... “”。

•• 도‘강에" ,.’l

06의 싱때를 05의 십때를 04의 실때를

‘ ’ t ιr • ν l -• 22 - KRNET ‘ 97

- 85.-

-SI ide

Page 12: 데이타베이스 통로 구조의 성능 평가B1%E8%C6%F... · 2012-07-16 · -Slide16- KRNET '97 - 82 - 클라이언트 -Slide17-성능평가구조 서버 CGI십뺑화일구조

성능평가결론

- 단순한 질으I : • CGI 실행화일 구조는 최악의 성능 및 확장성

• CGI 응용서버는 API 응용서버와유사한성능

- 복잡한 질으I : • 연동구조로인한성능차이적음

-검색결과의 크기: • 모든 연동구조에서 응답시간, 확장성 떨어짐

• CGI 응용서버 구조의 프로세스간 자료 목사 비용이 문제 되지않음

- 트랜잭션 처리 응용: • 연동구조의성능특성에영향없슴

-Sl ide23 - KRNET ’ 97

‘ 향후연구방향

-관계형 DBMS 포함

- 내 장절 차(stored procedure 이용한연동 구조포함

-검색 후개별 객체 항해하는질의포함

-브라우저 확장방식 고려

-Sl ide24- KRNET ‘ 97

- 86 -