httpリクエストのフォームで指定されたファイルをgzip掛けながらDLするServletを作っています。
物自体はできたのですが、効率の良いPGなのかわかりません。
具体的には以下を悩んでいます。他指摘事項があれば指摘お願いします。
1.BufferedInputStream、BufferedOutputStream、GZIPOutputStream
  のバッファサイズはどれぐらいがよいのか?
2.out側を Buff→GZIP→Buffと3重にする必要があるのか?
3.read/writeで使用するbyte[]のサイズはどのくらいがよいのか?

public class Hoge extends HttpServlet {
  public void doPost(HttpServletRequest request,  HttpServletResponse response)
  throws ServletException,IOException {
    File dlFile = new File(request.getParameter("path"));
    if(!dlFile.exists()){
      response.setStatus(HttpServletResponse.SC_NOT_FOUND);
      return;
    }
    FileInputStream in = new FileInputStream(dlFile);
    BufferedInputStream bufIn = new BufferedInputStream(in,1024);

    ServletOutputStream out = response.getOutputStream();
    BufferedOutputStream bufOut = new BufferedOutputStream(out,1024);
    GZIPOutputStream gzipBufOut = new GZIPOutputStream(bufOut,1024);
    BufferedOutputStream bufGzipBufOut = new BufferedOutputStream(gzipBufOut,1024);

    byte buf[] = new byte[1024];
    int len;
    while ((len = bufIn.read(buf)) != -1) {
      bufGzipBufOut.write(buf, 0, len);
    }
    bufGzipBufOut.close();
  }
}