2017-03-20 5 views
0

우선, 저의 영어에 대한 사과.여러 웹 사이트가 동시에 API 호출을합니다.

나는 물건을 명확하게하고 싶다.

웹 사이트의 사용자가 여러 명인 경우 (1000이라고 가정) 동시에 (또는 모든 사람이 등록 끝점에 액세스한다고 가정 할 때) 내 API 끝점에 액세스하려고 시도하거나 (정확히 같지 않은 경우 정확히 같은 시간 간격으로 나노 초). 무슨 일이 일어날 것? 모든 사람들이 동일한 응답 시간을 갖게됩니까? 또는 그것을 액세스하는 첫 번째 사람은 두 번째 것보다 빠르게 얻을 것인가?

내가 아는 바에 의하면, API가 대기열에서 처리 할 것이라고 생각합니다. 따라서 1000 번째 사용자라면 훨씬 더 오랜 시간 안에 응답을받을 수 있습니다. 이것이 사실이라면. 지연을 줄이는 방법이 있습니까?

설명해 주셔서 대단히 감사합니다. :)

+0

이렇게하려면 서버 설정을 조정해야합니다. 당신이'nginx'와'php-fpm'을 조정할 때보 다'PHP'와'Nginx'를 사용한다면 어떻게 될까요? 예 : background-worker-processes와 php-fpm 프로세스 등을 늘리는 것이 좋습니다. 덜 응답 시간이 될 것입니다. –

+0

알겠습니다. 나는 그 권고를 연구 할 것이다! 정말 고맙습니다. 나는 실제로 하나의 데이터베이스에 연결하는 10 개의 서버를 추가로 만들려고합니다. 그런 다음 다른 하나가 통화 중이면 다른 쪽으로 리디렉션됩니다. 나는 그런 초짜 다 :) – Emman

+0

요청을 처리하기 위해 다중 서버로 가고 싶다면. 서버에서로드 밸런싱이라는 개념을 사용하는 것이 더 낫습니다. –

답변

0

대기열에 관해서는 적절합니다. 같은 시간에 귀하의 API에 액세스하는 1000 명의 사용자가있는 경우 그 중 일부는 가장 많이 기다릴 것입니다.

수락 할 수있는 동시 요청 수를 미세 조정할 수 있습니다. 나는 당신이 nginx 또는 아파치를 사용하고 있다고 가정합니다. 예를 들어 nginx에서 가능한 한 worker와 worker 프로세스를 늘려야하지만 서버가이를 처리 할 수 ​​있는지 확인해야합니다.

더 많은 서버를 사용하려는 경우 현재 또는 무작위로 사용할 수있는 서버 요청 중 하나에서로드 밸런서를 사용할 수 있습니다.