Skip to content

jam2in/arcus-board-perf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

21 Commits
ย 
ย 
ย 
ย 

Repository files navigation

arcus-board-perf

์›น ์‘์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ARCUS Cache๋ฅผ ์ ์šฉํ–ˆ์„ ๋•Œ์˜ ์„ฑ๋Šฅ ๊ฐœ์„  ํšจ๊ณผ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์›น ๊ฒŒ์‹œํŒ์ž…๋‹ˆ๋‹ค.

  • Branches
    • main : MySQL DB๋งŒ์„ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•œ ์›น ๊ฒŒ์‹œํŒ
    • cache_[name] : ARCUS Cache๋ฅผ ์ ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ์›น ๊ฒŒ์‹œํŒ

๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ

๊ฒŒ์‹œํŒ์˜ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ฒŒ์‹œํŒ ์กฐํšŒ (๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ)
  • ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ, ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ, ์ถ”์ฒœ ์ฆ๊ฐ€, ํŽ˜์ด์ง•
  • ๋Œ“๊ธ€ ์กฐํšŒ, ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ, ํŽ˜์ด์ง•
  • ํ™ˆ - ๋ฆฌ๋”๋ณด๋“œ
    • ์ธ๊ธฐ ๊ฒŒ์‹œํŒ ๋žญํ‚น ๋ฆฌ๋”๋ณด๋“œ (๊ฐ ๊ฒŒ์‹œํŒ ๋ณ„ ๊ฒŒ์‹œ๊ธ€ ๋ฐ ๋Œ“๊ธ€ CRUD ์š”์ฒญ๋Ÿ‰ ๊ณ„์‚ฐ)
    • ์กฐํšŒ์ˆ˜/์ถ”์ฒœ์ˆ˜ ๋งŽ์€ ๊ธ€ ๋žญํ‚น ๋ฆฌ๋”๋ณด๋“œ
    • ์ตœ๊ทผ ๊ณต์ง€์‚ฌํ•ญ ๋ฆฌ๋”๋ณด๋“œ

properties ์„ค์ •

ํ”„๋กœ์ ํŠธ ์‹คํ–‰์„ ์œ„ํ•ด properties ํŒŒ์ผ์— ๊ฐ’์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

application.properties

spring.datasource.url = jdbc:mysql://[IP:PORT]/[SCHEMA]?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&allowLoadLocalInfile=true
spring.datasource.username = USER_NAME
spring.datasource.password = PASSWORD

[IP:PORT] - ip : database ์—ฐ๊ฒฐ ์ฃผ์†Œ, port : ํฌํŠธ ๋ฒˆํ˜ธ
[SCHEMA] - ์‚ฌ์šฉํ•  database schema์˜ ์ด๋ฆ„
USER_NAME - MySQL ์ ‘์† ๊ณ„์ • ์ด๋ฆ„
PASSWORD - MySQL ๋น„๋ฐ€๋ฒˆํ˜ธ

์œ„์˜ ๋ถ€๋ถ„์— ํ•ด๋‹นํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ฐ’์„ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

arcus.properties

arcus.address = ADDRESS
arcus.serviceCode = SERVICE_CODE
arcus.poolSize = POOL_SIZE

ADDRESS - arcus admin address
SERVICE_CODE - arcus service code
POOL_SIZE - arcus client pool size

ARCUS ์บ์‹œ ์ ์šฉ ์‹œ์—๋งŒ ์„ค์ •ํ•˜๋Š” properties ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์œ„์˜ ๋ถ€๋ถ„์— ํ•ด๋‹นํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ฐ’์„ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ

์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ์ €์žฅ

๋จผ์ €, DB์— ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  1. data csv ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ์‘์šฉ ์„œ๋ฒ„์™€ ๊ฐ™์€ ์œ„์น˜์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  2. resetTestData.sql ์˜ [csv file path] ๋ถ€๋ถ„์— ์ €์žฅํ•œ csv ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ๋„ฃ์–ด ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
LOAD DATA LOCAL INFILE '[csv file path]' INTO TABLE ...
  1. ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ์ „, ์›น ์‘์šฉ ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ•˜๊ณ  /test/reset url์„ ์‹คํ–‰ํ•˜์—ฌ DB์— ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๊ธฐ๋•Œ๋ฌธ์—, ์ด ๊ณผ์ •์€ ๋งค๋ฒˆ ํ…Œ์ŠคํŠธ ์‹œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ

์„ฑ๋Šฅํ…Œ์ŠคํŠธ์˜ Client ๋ถ€ํ•˜๋Š” JMeter๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. Client์—์„œ JMeter Test Plan ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ํ™ˆ ์กฐํšŒ
  • ๊ฒŒ์‹œํŒ ์กฐํšŒ (๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ)
  • ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ

์œ„์˜ 3๊ฐ€์ง€ ์กฐํšŒ ์š”์ฒญ์— ๋Œ€ํ•œ TPS, Response Time๋ฅผ ํ™•์ธํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค.

About

The board for performance testing with arcus cache

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •