많은 사용자가 붙는 서버를 만들 일이 많지 않았지만, 꽤 괜찮은 내용을 찾았다.
The epoll facility is available in the Linux 2.6, and newer, kernels. The new epoll-based SelectorProvider implementation is more scalable than the traditional poll-based SelectorProvider implementation when there are thousands of SelectableChannels registered with a Selector.
Sun 문서에는 위처럼 너무 간단하게 나왔다.
리눅스 2.6 커널일 경우 디폴트로 poll 이 아닌 epoll 을 써서 확장성이 더 좋다. 이 뿐.
그래서 좀 더 자세한 글을 찾아보려 구글님께 자문을 구해보았다.
Alan Bateman 씨의 포스트가 검색되었다.
요샌 다들 커널 2.6을 쓰고 있을테니 대부분의 서버 프로그래머들이 즐거워할 일인듯 하다.
정말 어느정도의 차이가 나는지 테스트를 해보려면 다음과 같이 강제로 poll을 쓰도록 switching 할 수 있다.
System.setProperty("java.nio.channels.spi.SelectorProvider", "sun.nio.ch.PollSelectorProvider");
커널 2.4에서도 epoll을 쓸 수 있는 패치가 있다지만, 이녀석을 감지하진 못한단다.
mustang 깔란 얘기다.
근데 j2se 1.5.0_09 에서도 이 기능이 포함되었다고 한다.
대신 default로 epoll을 사용하지 않기 때문에
System.setProperty("java.nio.channels.spi.SelectorProvider", "sun.nio.ch.EPollSelectorProvider");
를 해주어 수동으로 켜 주어야만 한다.
이 포스트에 달린 코멘트 임팩트가 아주 제대로다.
works great for me. With b59, on one of our perf tests, I am seeing system CPU go down from 40% with JDK 1.5.0_05 to 6-7% system in b59 with 10000 connections.
Posted by anandp on November 05, 2005 at 09:06 AM PST #
6배의 성능 향상!
Comments
12 thoughts shared
rath
충격적인 메서드 이름 ThreadMXBean.findDeadlockedThreads -_-
세상 참 좋아졌네요 ![]()
rath
jrunscript 엔터치고 감동 받음. 이제 beanshell 안써도 되나 ![]()
pistos
아앗... 2.6커널에서 디폴트로 epoll 아니었던거야??? 젠장..;;
pistos
아.. 2.4에서의 얘기군아... 젠장.. 코멘트 삭제가 안되!!
윤종현
음.. epoll을 쓰게 할 수도 있군요;;; 예전 팀의 서버 개발자는 jvm에서 epoll을 nio로 쓸 수 있게 직접 고친다고 삽질 참 많이 했었는데. -0-
윤종현
근데 데드락 스레드를 찾을 수 있는 함수가 있다?... 좀 잇힝;;; -0-
rath
pistos: 코멘트 삭제 기능을 만들어 넣어야겠네요 --;
rath
윤종현: 미리 그런 시도를 해보는 행위가 대단한 것 같아요. ㅎㅎ 데드락 스레드 찾는 함수는 꼭 테스트해보고 다시 결과 말씀드리지요~
rath
윤종현: 오~ 테스트해보니 정말 데드락 스레드를 찾아주는군요 ++ 문서를 보니 trying acquire 스레드중 서로를 마주보고 있는 것들을 골라주는 거라네요.. 들어보니 이론상 구현하기는 어렵지 않은것 같은데, 테스트 코드를 돌리며 제일 난해했던게.. 찾긴 찾았는데, 풀어줄 방법이 애매했다는 --;;;
rath
지금 다시 읽어보니 스펀지에나 나올법한 말이네요. 네이버 검색창에다.. "데드락 스레드를 찾을 수 있는 함수가 있다???" 쳐봐야할 것 같아요 --;
rath
아름다운 세상~
Continue Reading
Discover more thoughts and insights
개발자용 가상키보드가 절실하다
사용하던 안드로이드 가상키보드를 바꿨다. 그리하여 원활할리는 없으나 짜증이 치솟지 않을 정도의 수준에서 쉘질과 빔질이 가능해졌다. 빔질이 현실적으로 가능해졌으므로 코딩을 한다. 인텔리센스가 없어서 빡치긴 하지만
습관
영화 시작 시간이 95분이 남았고, 출발 전 60분동안 할만한 일인 블로그를 쓴다. 습관을 만드는 데는 단연 반복이 최고다. 최소 3개월 새로운 습관이 자리 잡고 난 뒤 모든 게 바뀔거라고 생각하지
구글의 스타벅스 무선 인터넷 제공에 대한 단상
스타벅스에서는 무수히 많은 사람들의 수다가 핑크노이즈로 승화되어 딴 생각을 날려주고 집중을 도와준다. 이것은 스타벅스와 도서관의 차이점이다. 할 수 있는 일이 많지 않기 때문에 딴 짓을 할 기회가