2009-04-15 7 views
0

[업데이트 : 30 초를 추가하는 것을 잊었습니다. 정지 문제는 서버에서 파일을로드하려고 할 때만 발생합니다. 이후의 부하는 매우 빠릅니다. 어쩌면 이상한 DNS 역방향 조회를 할 수 있을까요? Google의 appengine에서 호스팅하고 있습니다.]Java 애플릿이 일부 사용자에게 매우 느리게 시작됩니까?

최근에 애플릿 주위에 빌드 된 http://www.chartle.net이라는 작은 프로젝트를 시작했습니다.

애플릿의 사용자 경험에있어 시작 시간은 중요한 요소입니다. 통계를 수집하고 종종 매우 긴 시작 시간 (필요한 요소가 50에서 100까지)을 발견했다고 충격을받습니다.

애플릿은 컴퓨터 속도와 연결 속도에 따라 1 ~ 3 초 후에 시작됩니다. 여전히 일부 사용자에게는 최대 100 초가 소요됩니다.

나는 내 자신의 테스트 결과가 혼합되어 있습니다. 대개는 매우 빠르지 만 오랫동안 브라우저가 정지되고 Java 콘솔이 이유를 말해주지 않습니다. 가장 좋은 추측은 저장된 차트를로드 할 때 멈추는 것입니다. 이미 저장된 차트를 열어 가장 좋은 테스트가

건배, 디터

답변

2

이것은 일반적인 도움합니다 (http://www.chartle.net/gallery에서 링크를 '만드는'중 하나를 클릭)보다는 -

날이 파악 도와주세요 귀하의 데모에 대한 특정 (몇 가지 시도에서 나를 위해 잘로드).

냉동 애플릿은 JDK의 bin 디렉토리에서

jstack라는 매우 편리한 프로그램이. 충돌이 발생할 때까지 브라우저 창을 새로 고친 후 다음을 실행하십시오.

jstack *process_id* 

이렇게하면 고정 된 Java 프로세스의 스택 추적을 얻을 수 있습니다. Java가 별도의 프로세스가 아닌 경우 브라우저의 프로세스 (예 : Opera 용)를 사용할 수 있습니다. 당신이 (당신이 시작을 사용하는 경우이 작업을 수행 할 수는 없지만/방법 중지) init 메소드에 다소의 invokeAndWait보다 invokeLater를 사용

  1. 내가 reccommend :

    다음과 같은 몇 가지 문제는/나를 위해 일반적인했다

  2. 오페라의 사용자 정의 자바 플러그인의 역할을 매우 가난하게 ...
  3. 교착 상태 동기화 블록에 의해 발생 및 invokeAndWait의의

느린 애플릿

브라우저가 jar 파일을 사용할 수없는 서버에서 자원을 가져 오는 중일 가능성이 있습니까?

+0

감사하지만 난 이미 그 모범 사례를 새. 시작할 때 저장된 차트를로드하면 서버에서 해당 파일을 가져와야합니다. 어쩌면 여기서 지연은 일부 이상한 역 DNS 조회를 야기 할 수 있습니다. 나는 지금까지 단서가 없다. – Dieter

+0

흠, 프로파일 러를 생각해 봤어? YourKit은 15 일 평가판을 사용하며 애플릿을 아주 쉽게 플러그인합니다. 행을 일으키는 행을 볼 수 있어야합니다. – Pool

1

이전 플러그인에서만 이러한 문제가 발생할 수 있습니다. 이는 기본적으로 1.6_update_10 이전의 Java를 사용하는 OSX 및 다른 사용자가 실행중인 모든 사용자를 의미합니다.

그래서 저는 그러한 설정을 가진 사람들이 Java 콘솔을보고 첫 번째 시작 동작을 설명해 주셔서 감사합니다.

건배, 디터

관련 문제