๐Ÿ”™ Backend/โ˜๏ธ AWS

    RDS :: Too many connections ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (mariaDB)

    RDS :: Too many connections ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (mariaDB)

    ๋ฌธ์ œ์ƒํ™ฉ ์Šคํ”„๋ง ์„œ๋ฒ„๋ฅผ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ Too many connections ์—๋Ÿฌ ๋ฐœ์ƒ..! DB ๋Š” AWS RDS ๋กœ mariadb (t3.micro) ๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋‹ค. ์„ธํŒ… ํ™•์ธ ํ˜„์žฌ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” thread ์ˆ˜์™€ ์ง€์ •๋œ wait timeout ๊ฐ’, max connections ๊ฐ’์„ ํ™•์ธํ•ด๋ณด์ž. ์—ฐ๊ฒฐ๋œ thread ์ˆ˜ ํ™•์ธ SHOW STATUS LIKE โ€˜threads_connectedโ€™; ํ˜„์žฌ wait timeout ๊ฐ’ ํ™•์ธ SHOW VARIABLES LIKE โ€˜wait_timeoutโ€™; ํ˜„์žฌ max connections ๊ฐ’ ํ™•์ธ SHOW VARIABLES LIKE โ€˜max_connectionsโ€™; ํ™•์ธํ•ด๋ณด๋‹ˆ max connections ๊ฐ’์ด 30 ์œผ๋กœ ๋˜์–ด ์žˆ๋Š”๋ฐ, ์—ฐ๊ฒฐ๋œ th..

    RDS :: Incorrect string value: '\xEC\x9D\xB4\xEC\xA3\xBC...' for column ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (mariaDB)

    RDS :: Incorrect string value: '\xEC\x9D\xB4\xEC\xA3\xBC...' for column ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (mariaDB)

    ๋ฌธ์ œ์ƒํ™ฉ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ดํ›„ ๋ฐ›์•„์˜จ nickname ๊ฐ’์„ DB ์— ์ €์žฅํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ Incorrect string value ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค. ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ DB ์— ๋„ฃ์œผ๋ ค ํ•  ๋•Œ, ๊ทธ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๊ธ€์ด๋ฉด ์˜ค๋ฅ˜์ธ ๊ฒƒ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค ! DB ์˜ character set ์„ utf-8 ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฐ”๋กœ ํ•ด๊ฒฐ๋˜๋Š” ๋ฌธ์ œ. ํ•ด๊ฒฐ๋ฐฉ์•ˆ RDS ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ์ˆ˜์ •ํ•ด์ค€๋‹ค. ๋งŒ์•ฝ RDS์— default ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์ด ์ ์šฉ๋˜์–ด ์žˆ๋‹ค๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ์ƒˆ๋กœ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์—์„œ character ๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด์ž. ๊ฒ€์ƒ‰ํ•ด์„œ ๋‚˜์˜ค๋Š” character_set ๋“ค์˜ ๊ฐ’์„ ์ „๋ถ€ utf8mb4 ๋กœ ๋ฐ”๊ฟ”์ฃผ์ž. utf8 ๋กœ๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ๋˜์ง€๋งŒ, ์ด๋ชจ์ง€์™€ ๊ฐ™์€ ๊ฐ’๋“ค์„ DB ์— ๋„ฃ๊ณ  ์‹ถ๋‹ค๋ฉด mb..

    EC2 :: Ubuntu Swap ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •

    EC2 :: Ubuntu Swap ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •

    EC2 ํ”„๋ฆฌํ‹ฐ์–ด ์„œ๋ฒ„๋กœ ์Šคํ”„๋ง์„ ๋„์šฐ๊ณ , CI/CD ๋ฅผ ์„ธํŒ…ํ•˜๊ณ  ํ•˜๋‹ค๋ณด๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Š˜๋ฆฌ๋ ค๋ฉด ๊ณผ๊ธˆ์„ ํ•ด์•ผํ•˜๊ณ .. ๊ฐ„๋‹จํ•œ ์‹ค์Šต์ด๋‚˜ ๊ฐœ๋ฐœ์šฉ ํ™˜๊ฒฝ ์„ธํŒ…์ด๋ผ๋ฉด ์‚ฌ์–‘์„ ์˜ฌ๋ฆฌ๊ธฐ๋ณด๋‹ค Swap ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. Swap ํŒŒ์ผ ๋˜๋Š” ํŒŒํ‹ฐ์…˜ ํ™•์ธ sudo free -m Swap ์˜์—ญ์ด 0 ์ด๋‹ˆ ์„ค์ •์„ ํ•ด์ฃผ์ž Swap ํŒŒ์ผ ์ƒ์„ฑ sudo fallocate -l 2G /swapfile ์šฉ๋Ÿ‰์ด 2G ์ธ swapfile ์ด๋ž€ ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ–ˆ๋‹ค. ์œ„ ํŒŒ์ผ์„ ์Šค์™‘ํŒŒ์ผ๋กœ ์„ค์ •ํ•˜์ž. sudo mkswap /swapfile 600์˜ permission ์„ ๊ถŒ์žฅํ•œ๋‹ค๊ณ  ํ•˜๋‹ˆ ๋ฐ”๊ฟ”์ฃผ์ž. sudo chmod 600 /swapfile Swap ํ™œ์„ฑํ™” sudo swapon /swapfil..