JavaScript 클라이언트 코드가있는 JSP 페이지, 백엔드는 Oracle 데이터베이스에서 데이터를 가져 오는 JAVA 클래스입니다. 전체 응용 프로그램은 WebLogic 10 서버에서 실행됩니다.프록시 서버를 통한 JSP/JavaScript 페이지의 성능 저하
타이머 기능은 파일 RedbudTimer.js에 있으며 JSP 페이지가 너무처럼 시작합니다
마감일은 몇 개의이다<script type="text/javascript" src="/common/gp/js/RedbudTimer.js"></script>
function TimerCallback()
{
window.location.reload();
}
displayTimer('<%= deadLine.toString() %>', true);
. 0 다시 어떤 수에서 작동
Date.ONE_SECOND = 1000;
Date.ONE_MINUTE = Date.ONE_SECOND * 60;
Date.ONE_HOUR = Date.ONE_MINUTE * 60;
Date.ONE_DAY = Date.ONE_HOUR * 24;
Date.ONE_WEEK = Date.ONE_DAY * 7;
function TimeSpan(d, toDeadline) {
this.time = d.getTime ? d.getTime() : Date.parse(d);
this.toDeadline = toDeadline;
}
TimeSpan.prototype.valueOf = function() {
var val = this.time - new Date().getTime();
if (!this.toDeadline) val *= -1;
return val;
}
TimeSpan.prototype.toString = function() {
var t = Math.abs(this.valueOf());
var d = Math.floor (t/Date.ONE_DAY);
var h = Math.floor ((t % Date.ONE_DAY)/Date.ONE_HOUR);
var m = Math.floor ((t % Date.ONE_HOUR)/Date.ONE_MINUTE);
var s = Math.floor ((t % Date.ONE_MINUTE)/Date.ONE_SECOND);
var showDays = false;
var display = '';
if (showDays) {
display = (this.valueOf() < 0 ? '-' : '') + [d, (h < 10 ? '0' : '') + h, (m < 10 ? '0' : '') + m, (s < 10 ? '0' : '') + s].join(':');
}
else {
display = (this.valueOf() < 0 ? '-' : '') + [(h < 10 ? '0' : '') + h, (m < 10 ? '0' : '') + m, (s < 10 ? '0' : '') + s].join(':');
}
return display;
}
function displayTimer(time, toDeadline) {
var ts = new TimeSpan(time, toDeadline);
if (ts <= 0){
setTimeout("TimerCallback()", 1000);
clearInterval(intId);
}
else {
document.getElementById('counter').innerText = ts.toString();
var intId = setTimeout("displayTimer('" + time + "'," + toDeadline +")", 1000);
}
}
방법은 타이머 카운트를하고 0에 도달하면 그것은 JSP 페이지에 TimerCallback를 호출 자바 스크립트 파일은 다음과 같다. 그것은 배포 된 서버의 내부 네트워크 내에서 실행될 때 잘 동작하지만 프록시 서버를 통해 외부에서 액세스하는 경우 매우 느리게 실행됩니다 (페이지를로드하는 데 5 분).
-
응용 프로그램에
- 외부 액세스가 HTTPS를 통해 국경 서버
- 외부 사용자로부터 요청이 아파치에 의해 허용되는 아파치 웹 서버를 통해 이루어집니다
- : 외부에서 응용 프로그램에
액세스는 다음과 같이 구현 아파치의 전달자가 내부 네트워크에 요청을 보냅니다.
나는 당황하고 있습니다. 왜 그렇게 느릴까요?
Apache 서버에 어떤 모듈이로드 되었습니까? – Santosh
구성은 다음과 같습니다. Weblogic 전달자/프록시 용 구성 파일 WeblogicCluster [서버 이름] : 7001 #WebLogicHost [서버 이름] #WeblogicPort 7001 WLSocketTimeoutSecs SetHandler 웹 로직 처리기 디버그 WLTempDir d를 ON OFF 는 DebugConfigInfo 10 #WLProxySSL : \ 온도 WLLogFile d : \ temp \ wlproxy.log –
lukegf
지저분한 코멘트를 드려 죄송합니다. Stackoverflow가 왜 댓글을 편집하기가 어렵습니까?! – lukegf