当服务器端在发送完毕后写一条‘文件传输完成’的日志(lighttpd accesslog和我自己的php日志),客户端仍然在进行下载。在发送最后一个数据段之后,我调用了ob_flush()和flush()。 - Server & client is connected with same local gigabit switch
- redhat 6.4, lighttpd 1.4.28net.ipv4.tcp\_rmem = 4096 1
我所做的唯一配置更改就是启用CGI支持。
然后有一个定制的CGI工具(用C编写)-- put /cgi/,它从外部调用并输出gzip‘’ed。问题是,在CGI标准输出和lighttpd返回给客户端之间的某个地方,所有内容都是缓冲的,每次到达大约4KB。不幸的是,这个系统落后于亚马逊弹性负载均衡器,它不允许空闲连接超过60秒。我尝试更改了一些lighttpd配置参数,甚至在内核中更改了"net.ipv4.tcp_wmem“,