API 작성 중 

 

26번까지의 반복 작업(반복문)-- 각 작업마다 조금씩 다름 --

 

을 통해서 구한 정보를 데이터 베이스에 토큰단위로 삽입을 하는 작업인데,

 

카운트를 해보니 계속 0~9까지 작업 중 10번에서 계속 서버가 멈추는 이슈가 발생했습니다.

 

처음에는 10번 작업에 문제가 있는 줄 알고, 확인을 해봤는데 딱히 문제를 발견하지 못해서

 

10~26번 까지 돌려 보니 10,11,12.........20에서 멈추는 것이였습니다.

 

자바스크립트에 아직 그리 익숙치 않아 여러 문제 발생가능 지점을 찾아봤는데, 잘 해결이 안되었는데

 

문제는 connection.release()를 안해주고 있었습니다......바보......

 

const connection= await pool.getConnection(async (conn) => conn); 을 해줬으면 

 

밑에서 connection.release()를 반드시 해줘야 한다..

 

반납하지 않으면 connection leak현상이 발생할 수 있다.

 

릴리즈를 해줘야 이 커넥션은 pool로 돌아가서 다른 주체가 사용할 수 있도록 할 수 있다.

** TCP: Transmission Control Protocol

 - reliable transport (between sending and recieving process)

 - flow control : sender won't overwhelm receiver (받는 쪽의 버퍼 사이즈 이상으로 

                                보내지 않는다)

 - connection - oriented (연결 지향형) - 클라이언트와 서버간의 통신전 setup이 요구된다

                                                                              ( 데이터를 보내기전에 connection 을 먼저 만든다 )

 - timing,  minimum throughput 은 보장하지 않는다.

 

**UDP : User Datagram Protocol

 - unreliable data transfer (between sending and recieving process)

 - TCP보다 빠르다.

 - 지원하지 않는 것이 많다 (reliability, flow control, timing, throughput, security )

 

**그렇다면 왜 UDP를 버리지 않고 사용하는 곳이 있을까?

 - 예를들면, 비디오나 오디오를 다운받을 때 데이터의 약간의 변형 정도는 허용이 될때 TCP보다 빠르게 전송할 수 있다.

 - streaming multimedia 나 Internet telephony  등에서 TCP와 UDP를 섞어서 사용한다.

 

'학부생 공부 > 네트워크' 카테고리의 다른 글

FTP  (0) 2020.04.12
Web and HTTP  (0) 2020.04.06
Application Layer  (0) 2020.04.04
Internet structure  (0) 2020.03.26
Network Core  (0) 2020.03.25

+ Recent posts