[英]The ideal web server for PHP to handle large file uploads?
从技术上讲,我正在制定一个文件上传API,该API将处理许多大型(250MB +)文件。
我想尽可能避免的是Web服务器在文件上载期间吞噬了整个内存,我知道在某种程度上可以避免。
另外,我不能使用Flash或Silverlight拆分文件,这可能会大大减少内存使用量。
我了解PHP的上传性能很大程度上取决于其主机Web服务器软件。 考虑到这一点,Apache是最适合这份工作的人,还是我应该考虑使用nginx或其他工具?
如果PHP本身是最大的瓶颈,那么考虑某种混合解决方案是否值得? 如果是这样,它将是什么语言?
尽管丹尼尔·里贝罗(Daniel Ribeiro)说了什么,但我还是建议您将这些上传文件远离Apache。 您需要一个基于事件的服务器(Apache的实现很好,但恕我直言,它不如nginx / lighttpd完善)。 问题只是间接地成为内存,这与客户端的数量和带宽有关。 拆分文件并没有帮助。
OTOH没有什么可以阻止您使用nginx来处理上传内容并使用apache服务网站的其余部分。
调整TCP / IP堆栈以处理LFN(大型拥塞窗口,tcp窗口缩放)会从中受益匪浅。
我了解PHP的上传性能很大程度上取决于其主机Web服务器软件
除非您尝试在后端使用原始套接字/ Web套接字和PHP实现上传,否则上传的性能与PHP无关。 的确,从nginx调用(派生的)PHP解释器来处理文件是有意义的-因为只有在上传文件时才启动该解释器
您可以同时使用Apache和Nginx,这真是太棒了!
两者之间的一些比较是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.