Skip to content

Latest commit

ย 

History

History
100 lines (53 loc) ยท 3.63 KB

File metadata and controls

100 lines (53 loc) ยท 3.63 KB

์งˆ๋ฌธ1

์Šคํƒ ํฌ๊ธฐ ๊ณ ์ •์•ˆ๋˜์–ด์žˆ์–ด์š”?

  • ๋Ÿฐํƒ€์ž„์— ํ• ๋‹น
  • RAM์ž์ฒด์—์„œ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ์ •ํ•ด์ ธ ์žˆ๊ธด ํ•˜๋‹ค. ex) 3MB
  • ๊ทธ ์•ˆ์—์„œ ๋™์ ์œผ๋กœ ๋Š˜์–ด๋‚œ๋‹ค

์งˆ๋ฌธ2

cpu ๋ฐ”์šด๋“œ ํ”„๋กœ์„ธ์Šค๋Š” ๋Œ€๊ธฐํ์— ์•ˆ๋“ค์–ด๊ฐ€๋‚˜์š”?

์ฝ”์–ด ํ• ๋‹น์„ ๊ธฐ๋‹ค๋ฆด ๋•Œ๋Š” ์ค€๋น„ํ. IO์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆด ๋•Œ๋Š” ๋Œ€๊ธฐํ. IO์ž‘์—…์ด ์—†๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ ˆ๋Œ€ ๋Œ€๊ธฐํ์— ์•ˆ๋“ค์–ด๊ฐ€๋‚˜?

  • IO์ž‘์—… ๋ง๊ณ ๋„, ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆด ๋•Œ๋„ ๋Œ€๊ธฐํ์— ๋“ค์–ด๊ฐ€๊ธฐ๋„ ํ•œ๋‹ค. ์ฆ‰, CPU ๋ฐ”์šด๋“œ ํ”„๋กœ์„ธ์Šค๋„ ๋Œ€๊ธฐํ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์งˆ๋ฌธ3

ํ”„๋กœ์„ธ์Šค์—์„œ ํฌํฌ ์–ธ์ œ ์“ธ๊นŒ? -> ์™œ ์ƒˆ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑํ•จ?

  • ๊ฐ™์€ ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • ๋™์ผํ•œ ๋‚ด์šฉ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์„ ๋•Œ : ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ & copy on write ์ฐธ๊ณ 
    • ์ž์‹์€ ๋ถ€๋ชจ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ทธ๋Œ€๋กœ ์ฐธ์กฐํ•˜๋‹ค๊ฐ€, ์ž์‹์ด write๋ฅผ ํ•ด์•ผํ•˜๋Š” ์‹œ์ ์—์„œ๋งŒ ๋ณต์‚ฌ

์งˆ๋ฌธ4

ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋“ˆ์„ฑ ํ˜‘๋ ฅํ–ˆ์„ ๋•Œ์˜ ์ด๋“?

IPC์—์„œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋ฉด ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹๋‹ค. ๋ชจ๋“ˆ์„ฑ์œผ๋กœ ํ•ด์„œ ์ข‹๋‹ค. ๋ชจ๋“ˆ์„ฑ์ด ๋ฌด์Šจ ์˜๋ฏธ?

  • ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์„ ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋‚˜๋ˆˆ ๊ฒŒ ์•„๋‹ˆ๋ผ, ํ”„๋กœ์„ธ์Šค ๋ฌถ์Œ ํ•˜๋‚˜๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ.
  • ๋ฌถ์—ฌ์ง„ ํ”„๋กœ์„ธ์Šค๋“ค๋ผ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ์ด๋“์ด๋‹ค.
  • ์ €๊ธฐ์„œ ์˜๋ฏธํ•˜๋Š” ๋ชจ๋“ˆ์€ ํ”„๋กœ์„ธ์Šค์˜ ๋ฌถ์Œ์ด๊ณ , ๋ชจ๋“ˆ์•ˆ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค๋ผ๋ฆฌ ํ˜‘๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒํ•˜์ž

์งˆ๋ฌธ5

์†Œ์ผ“์€ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ๋งŒ ํ†ต์‹ ํ•˜๋Š” ์ €์ˆ˜์ค€ api์ธ๋ฐ, http ํ”„๋กœํ† ์ฝœ์„ ์–ด๋–ป๊ฒŒ ์ง€์›ํ•˜๋Š”๊ฑธ๊นŒ์š”? http๋Š” ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ์ด ์ •ํ•ด์ง„ ํ”„๋กœํ† ์ฝœ ์•„๋‹Œ๊ฐ€?

  • http๊ฐ€ ์—ฐ๊ฒฐ๋  ๋•Œ๋Š” ์†Œ์ผ“์„ ์‚ฌ์šฉ (80ํฌํŠธ : wellknown ํฌํŠธ ์ค‘ ํ•˜๋‚˜. ๋ณดํ†ต์€ 1024์ด์ƒ์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ 80ํฌํŠธ๋กœ ์š”์ฒญ ๋ณด๋‚ด๋ฉด ์—ฐ๊ฒฐ
  • http๊ฐ€ ์†Œ์ผ“ ํ†ต์‹ ์€ ์•„๋‹ˆ์ง€๋งŒ, ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฑด ๋งž๋‹ค
    • http๋Š” ์ธํ„ฐ๋„ท ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์†Œ์ผ“์ด http์ธ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. http๊ฐ€ ์†Œ์ผ“ ์œ„์— ์žˆ๋Š” ๊ฐœ๋…

์งˆ๋ฌธ6

RPC์—์„œ ๋‚˜์˜ค๋Š” ์Šคํ…์ด ๋ญ์ง€?

  • ์Šคํ…์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์„ ์ถ”์ƒํ™”ํ•œ ๊ฒƒ.

  • ํด๋ผ์ด์–ธํŠธ ์Šคํ… / RPC ์‹œ์Šคํ…œ demon(์š”์ฒญ์„ ๋ฐ›๋Š” ์Šคํ…) / RPC ์„œ๋ฒ„ ์Šคํ…

    • RPC ์‹œ์Šคํ…œ demon(์š”์ฒญ์„ ๋ฐ›๋Š” ์Šคํ…) : ์ ์ ˆํ•œ RPC ์Šคํ… ํ˜ธ์ถœ, ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ€๊ณต ์ž‘์—…

์งˆ๋ฌธ7

๊ทธ๋Ÿผ forkjoinpool์˜ ํฌ๊ธฐ๋„ ๋™์ ์œผ๋กœ ๊ฒฐ์ •๋˜๊ฒ ์ฃ ? ์ •์ ์ธ๊ฑด ์•„์˜ˆ ์—†๊ฒ ์ง€?

  • java์˜ ๊ฒฝ์šฐ ์ตœ๋Œ€ ์‚ฌ์ด์ฆˆ๋Š” 30000์—ฌ๊ฐœ์ด๊ณ , ๋””ํดํŠธ๋กœ logical cpu ํฌ๊ธฐ - 1๊ฐœ ๋งŒํผ ํ• ๋‹น์ด ๋œ๋‹ค.

  • ์ž๋ฐ” ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด, ํ•„์š”ํ•œ ๋งŒํผ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณ„์† ๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ ๊ฐ™์œผ๋‚˜, ํ…Œ์ŠคํŠธ ํ•ด๋ดค์„ ๋•Œ cpuํฌ๊ธฐ - 1๊ฐœ ์—์„œ ๋” ๋Š˜์–ด๋‚˜์ง„ ์•Š์•˜๋‹ค.

    // ํ…Œ์ŠคํŠธ ์ฝ”๋“œ
    
        @Test
        void forkjoin() throws InterruptedException {
            final ForkJoinPool forkJoinPool = ForkJoinPool.commonPool();
            for (int i = 0; i < 50; i++) {
                final int number = i;
                forkJoinPool.execute(() -> {
                    System.out.println("size = " + forkJoinPool.getPoolSize());
                });
            }
            Thread.sleep(2000);
        }

์งˆ๋ฌธ8

๊ทธ๋Ÿผ ์Šค๋ ˆ๋“œ ๋กœ์ปฌ์€ ์Šค๋ ˆ๋“œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์–ด๋А ์˜์—ญ์— ํ• ๋‹น์ด ๋ ๊นŒ์š”?