Skip to content

๐Ÿ› ๏ธ [refactor] ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ์ถœ์„ ๊ณผ์ •์—์„œ ํ•™์ƒ์ด ๊ฐ•์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ๊ฐ„ ๋‹จ์ถ• ย #57

@binary-ho

Description

@binary-ho

๐Ÿ› ๏ธ ๋ฆฌํŒฉํ† ๋ง์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„

๊ฒฐ๊ตญ ํŠธ๋ž˜ํ”ฝ์ด ๋ชจ์ด๋Š” ํƒ€์ด๋ฐ์€, ์ถœ์„ ๋‹น์‹œ์ด๋‹ค.
์•„์ฃผ ์งง์€ ์‹œ๊ฐ„ ์•ˆ์—

  1. ๋กœ๊ทธ์ธ์„ ํ•˜๊ณ  (ํšŒ์›๊ฐ€์ž… ํ•  ์ˆ˜๋„ ์žˆ๋‹ค)
  2. ์ˆ˜๊ฐ• ์‹ ์ฒญ ์Šน์ธ๋˜์—ˆ์œผ๋ฉฐ, ํ˜„์žฌ OPEN ์ƒํƒœ์ธ ์ž์‹ ์˜ ๊ฐ•์˜๋ฅผ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ
  3. ์ถœ์„ ๋ฒˆํ˜ธ๋ฅผ ๋ณด๋‚ด์–ด ์ถœ์„ ์‹ ์ฒญ์„ ํ•œ๋‹ค.

์ „์—” 3๋ฒˆ ๊ณผ์ •์„ ์ค„์ด๊ธฐ ์œ„ํ•ด redis๋ฅผ ์ด์šฉํ•ด DB ์ ‘๊ทผ์„ ํ•œ๋ฒˆ ์ค„์˜€๋‹ค.
ํ•˜์ง€๋งŒ, ์ˆ˜๊ฐ• ์‹ ์ฒญ ๋ฐ์ดํ„ฐ๊ฐ€ 4์ฒœ๊ฐœ์ผ๋•Œ, 1000๋ช…์˜ ํšŒ์›์ด ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋ฉด 11.1830์ดˆ๊ฐ€ ์†Œ์š” ๋˜์—ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ , 10๋งŒ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ๋Š” 1000๋ช… ๋™์‹œ ์กฐํšŒ์‹œ 650๊ฑด ์ด์ƒ ํƒ€์ž„์•„์›ƒ์œผ๋กœ ์‹คํŒจํ•˜์˜€๋‹ค.

์ด๋ฒˆ์—” 2๋ฒˆ ๊ณผ์ •์—์„œ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ฐ•์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •์„ ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ์ค„์ด๊ฒ ๋‹ค.

  1. ์ž์‹ ์˜ ๊ฐ•์˜์ด๋ฉฐ
  2. ์ˆ˜๊ฐ• ์‹ ์ฒญ์ด ์Šน์ธ ๋˜์—ˆ๊ณ 
  3. ํ˜„์žฌ OPEN ์ƒํƒœ์ธ ๊ฐ•์˜๋ฅผ ๊ฐ€์ ธ์™€์•ผํ•œ๋‹ค.

์ฒ˜์Œ์—๋Š” ์ˆ˜๊ฐ•์‹ ์ฒญ ๋ฐ์ดํ„ฐ์˜ ์ปฌ๋Ÿผ์ธ ํ•™์ƒ id์™€ ์Šน์ธ ์—ฌ๋ถ€์— ๋ณตํ•ฉ ์ธ๋ฑ์Šค๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ–ˆ์œผ๋‚˜, ๋‹ค์‹œ ๊ณต๋ถ€ํ•ด ๋ณด๋‹ˆ ๋ฐ”๋ณด ๊ฐ™์€ ์ƒ๊ฐ์ด์˜€๋‹ค.

์™œ๋ƒํ•˜๋ฉด, ์Šน์ธ ์—ฌ๋ถ€๋Š” ๋‹จ 3๊ฐœ์˜ ์ข…๋ฅ˜๋งŒ ์žˆ๊ณ , ๋Œ€๋ถ€๋ถ„ "์Šน์ธ"์ด๊ธฐ ๋•Œ๋ฌธ์— ์†๋„ ๊ฐœ์„ ์€ ๊ทนํžˆ ์ž‘์€ ๋Œ€์‹  ์šฉ๋Ÿ‰์€ ๋‹จ์ผ ์ธ๋ฑ์Šค์— ๋น„ํ•ด 1.5๋ฐฐ ๋Š˜์–ด๋‚ฌ๋‹ค.

๊ทธ๋ž˜์„œ ๋‹จ์ผ ์ธ๋ฑ์Šค๋กœ ๋‹ค์‹œ ๋ณ€๊ฒฝํ•˜์˜€๊ณ , ์ž๋ฐ” ๋™์‹œ์„ฑ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ด ์ง์ ‘ ์„ฑ๋Šฅ ์ฐจ์ด์™€ ์ธ๋ฑ์Šค ์šฉ๋Ÿ‰ ํ…Œ์ŠคํŠธ ํ–ˆ๋‹ค.
๊ฒฐ๋ก ์ ์œผ๋กœ ๋‹จ์ผ ์ธ๋ฑ์Šค๋ฅผ ๊ฑธ๊ณ , ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค.

jpa ์ฟผ๋ฆฌ์—์„œ ๊ทธ๋ƒฅ JSQL์„ ํ†ตํ•ด ๊ฐ€์ ธ์™”๋‹ค. ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด์„œ jpa์— ์˜ํ•œ outer join ํ•˜๋‚˜๊ฐ€ ์ค„์—ˆ๊ณ , ์‚ฌ์†Œํ•˜์ง€๋งŒ ๋ฐ”๋กœ ์›ํ•˜๋Š” ๊ฐ์ฒด๋กœ ๊ฐ€์ ธ์˜ค๋ฉด์„œ ๊ฐ์ฒด ๋ณ€ํ™˜ ๊ณผ์ •๋„ ์ค„์–ด๋“ค์—ˆ๋‹ค.

1๋งŒ๋ช…์˜ ํšŒ์› 10๋งŒ๊ฐœ ์ˆ˜๊ฐ• ์‹ ์ฒญ ๋ฐ์ดํ„ฐ, 1000๊ฑด ๋™์‹œ ์กฐํšŒ - ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ๊ฐœ์„ 
30์ดˆ ์ด์ƒ, 650๊ฑด ์ด์ƒ์‹คํŒจ(Time Out) -> 6.4638 ์ดˆ ์†Œ์š” + ์‹คํŒจ 0๊ฑด

2์ฒœ๋ช…์˜ ํšŒ์› 4์ฒœ๊ฐœ์˜ ์ˆ˜๊ฐ• ์‹ ์ฒญ ๋ฐ์ดํ„ฐ, 1000๊ฑด ๋™์‹œ ์กฐํšŒ - ์•ฝ 4๋ฐฐ ์ •๋„์˜ ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ์žˆ์—ˆ๋‹ค.
11.1830์ดˆ -> 2.9257์ดˆ
(๋ฌผ๋ก  RDS์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์ง€๋Š” ์ธก์ •)

์ž์„ธํ•œ ๊ณผ์ •์€ PR์— ์ ๊ฒ ๋‹ค. -> #58

๋ฆฌํŒฉํ† ๋ง ์ž‘์—… ๋ธŒ๋žœ์น˜

feature/enrollment_indexing

โ˜‘ Refactoring TODO

  • Enrollment Info ํ…Œ์ด๋ธ”์— ์ธ๋ฑ์‹ฑ
  • ํ•™์ƒ์ด ์ถœ์„ํ•  ๊ฐ•์˜๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ Lecture๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ์ฟผ๋ฆฌ ๋ณ€๊ฒฝ
  • Lecture Service์˜ Student Open Lecture๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฉ”์„œ๋“œ ์ˆ˜์ •

Metadata

Metadata

Assignees

No one assigned

    Labels

    Refactor๋ฆฌํŒฉํ† ๋ง

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions