2011-11-18 3 views
0

그래서 나는 여러 가지 데이터의 다양한 자바 스크립트 구현 그래픽 표현 (WebGL, JIT 등 사용)을 볼 수있는 프로그램을 제공합니다. 서버 측은 파이썬으로 작성되었으며 cherrypy와 genshi + 뷔페를 사용합니다.서버에서 자바 스크립트까지 데이터를 가져 오는 가장 빠른 방법.

문제는 많은 파일이 실제로 크기 때문에 실제 데이터가 자바 스크립트에 도달하는 데 걸리는 시간이 문제가되기 시작했습니다.

@cherrypy.expose 
@logged() 
def read_server_file(self, coded_path): 
    """ 
    Retrieve file from Local storage, having a File System Path. 
    """ 
    try: 
     my_file = open(url2path(coded_path), "rb") 
     result = my_file.read() 
     my_file.close() 
     return result 
    except Exception, excep: 
     self.logger.error("Could not retrieve file from path:" + 
          str(coded_path)) 
     self.logger.exception(excep) 

이 바로 디스크에 실제 파일을 가져오고 파일의 데이터를 반환

지금까지의 접근 방식은 서버 측 노출 cherrypy 방법을 가지고있다. 그리고 클라이언트 측에서 :

function getFile(fileName) { 
    oxmlhttp = null; 
    try { 
     oxmlhttp = new XMLHttpRequest(); 
     oxmlhttp.overrideMimeType("text/plain"); 
    } catch(e) { 
     try { 
      oxmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch(e) { 
      return null; 
     } 
    } 
    if (!oxmlhttp) return null; 
    try { 
     oxmlhttp.open("GET", fileName, false); 
     oxmlhttp.send(null); 
    } catch(e) { 
     return null; 
    } 
    return oxmlhttp.responseText; 
} 

그래서 제 질문은, 당신은 필요한 데이터를 얻기 위해 더 빨리/더 효율적인 방법으로 알고있다?

관련, 보그

+1

대부분의 웹 서버에는 웹 응용 프로그램 계층을 거치지 않고 정적 파일을 직접 제공하는 옵션이 있어야합니다. 나는 그것이 당신의 사건에서 많은 차이를 가져올 지 모르지만 주목할 가치가 있습니다. –

답변

관련 문제