api 응답시간
rlawhd
2년 전
조회 2,560
업체에서 주기적으로 api를 쏴주고있어
이걸 받아서 제 디비에 넣고있는데
api받고 응답을 10초이내에 안하면 다시 보내줘서 디비가 중복으로 들어가고있습니다.
응답은 api받는 페이지 맨위에
</strong></p>
<p>http_response_code(200);</p>
<p><strong>
이거 넣어줬고 매번 중복은 아니고 중간중간 이런현상이 발생하는데
이유가뭘까요?
keep-alive 도 문제인가해서 off로 했고, 또 다른 이유가있을까요?
10초까지 걸릴만한게 뭐가있을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
답변에 대한 댓글 2개
�
엑스엠엘
2년 전
임시 테이블을 만들어서 insert 후에 원테이블에 옮기는 방법도 있습니다.
�
엑스엠엘
2년 전
그리고 중복여부 확인을 위해서..
api사용자 쪽에 고유 번호를 요청해 보세요.
api사용자 쪽에 고유 번호를 요청해 보세요.
댓글을 작성하려면 로그인이 필요합니다.
2년 전
DB 중복처리는 등록할 값들의 유일성을 만들수 있는 경우
primary key 나 unique key 로 제약조건을 추가하면 방지할수 있고
처리시간 문제 같은 경우 자세하게 디버깅을 해봐야 알수 있으며
많은 요청이 한순간에 몰리는 경우는 백그라운드 큐 처리 형태로 어느정도 보완하는 방법이 있습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
r
rlawhd
2년 전
실제로 2건이 오는경우도 있어서 유일성만들수는 없고,
어느쪽에서 시간이 지연되는걸까요?
a.php를 5천번 호출한다했을때
호출은 동시에 하는데, 10초안에 5천건에대한 response를 못하는게 문제일까요?
어느쪽에서 시간이 지연되는걸까요?
a.php를 5천번 호출한다했을때
호출은 동시에 하는데, 10초안에 5천건에대한 response를 못하는게 문제일까요?
�
배르만
2년 전
10초안에 5천건에대한 response를 못하는건 문제점 같고
문제점이 발생하는 원인을 파악하기 위해서는 적지않은 디버깅과 테스트가 필요할수 있습니다.
가장 기본적인 시작은 프로그램 최적화 부터 시작해서 쿼리 최적화 정도까지를 확인하는 것입니다.
response 의 경과시간을 로그로부터 추출해서 예상하는 지연이 실제 발생하고 있는지
발생한다면 지연의 분포도를 average, max 정도로 확인 후
프로그램에 문제가 있는지 쿼리에 문제가 있는지를 수정하며 파악 해볼수 있습니다.
위 문제를 개선하고도 요구사항에 만족하지 못하는 경우
어플리케이션 및 플랫폼 하드닝, 하드웨어 스펙, 네트워크 관련 확인이 추가 필요할수 있습니다.
문제점이 발생하는 원인을 파악하기 위해서는 적지않은 디버깅과 테스트가 필요할수 있습니다.
가장 기본적인 시작은 프로그램 최적화 부터 시작해서 쿼리 최적화 정도까지를 확인하는 것입니다.
response 의 경과시간을 로그로부터 추출해서 예상하는 지연이 실제 발생하고 있는지
발생한다면 지연의 분포도를 average, max 정도로 확인 후
프로그램에 문제가 있는지 쿼리에 문제가 있는지를 수정하며 파악 해볼수 있습니다.
위 문제를 개선하고도 요구사항에 만족하지 못하는 경우
어플리케이션 및 플랫폼 하드닝, 하드웨어 스펙, 네트워크 관련 확인이 추가 필요할수 있습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인