2017-12-20 14 views
0

우리는 몇 가지 복잡한 계산 (기본 연산이지만 많은 작업)을 포함하는 스프링 부트 1.5.x 웹 애플리케이션을 개발 중입니다. 앱에 I/O가 없습니다. 각 요청에는 약 100 ~ 200ms가 소요됩니다.서블릿 3.1 성능을 갖춘 CPU 바운드 웹 앱

해당 앱의로드가 상대적으로 높을 것으로 예상됩니다. Servlet 3.1 (반응성 스프링, vert.x 등)을 사용하면 처리량이 향상 될지 궁금합니다.

내가 확인한 거의 모든 리소스는 서블릿 3.1이 I/O 바운드 애플 리케이션의 처리량을 향상시키는 데는 좋지만 CPU 바인딩 된 애플리케이션에 대해서는 벤치 마크를 찾을 수 없다고합니다.

+0

처리량이 향상되어 성능이 향상되지 않습니다. 요청 처리 스레드는 다른 스레드로 작업을 넘겨줍니다. 즉, 페이지 처리와 같은 다른 요청을 처리 할 수 ​​있습니다. 대신 일반적으로 발생하는 것을 차단하고 요청이 완료되기를 기다리는 것입니다. 그래서 예. 성능을 향상시키지 못할 수도 있습니다. Servlet 3.1을 사용하면 전혀 다른 아키텍처 인 반응 형 애플리케이션을 빌드하는 것과 아무런 관련이 없으며 성능이 향상되지는 않지만 확장 성은 향상됩니다. –

+0

설명해 주셔서 감사합니다. 답변으로 보내 주시면 받아 들일 것입니다. Servlet 3.1이 실제로 의미하는 용어는 "Servlet 3.1 non-blocking I/O"입니다. https://docs.spring.io/spring-framework/docs/5.0.0이 게시물에 설명되어 있습니다. .M1/spring-framework-reference/html/web-reactive.html. – user3395221

답변

0

스프링 부트 (2013 년에 나온 Servlet 3.1 사양)를 사용하는 경우 이미 Servlet 3.1을 사용하고 있습니다. 현재 사용중인 것을 알지 못하기 때문에 을 시도하지 마시기 바랍니다. 할 일.

응용 프로그램을로드하고 프로필을 작성하여 성능 병목 현상을 확인하십시오. 그래야만 할 수있는 일과 할 일을 결정할 수 있습니다.