PHPExcel导入15M的Excel表到数据库,出现nginx:504 gateway timeout!
PHPExcel导入数据,太尼玛耗内存了!
看了下官方文档,5M的数据,就得占5G的内存,这不是开玩笑么。。所以,参照官方的文档,使用chunk块上传,内存减少了,但是会消耗更长的时间。
测试了下,3万的数据,每次读去3000行,花费了204s,内存大约130M。
之前出现了:nginx 504 错误,在网上找了下配置,总结下:
php:max_execution_time
php-fpm:request_terminal_timeout
nginx:fastcgi_read_timeout(针对:php请求,在匹配的php的location块中配置)
nginx作为代理,例如:nginx作为apache的代码(不是干运维的,之前只听说过,apache和nginx结合,具体没看过这种架构),在nginx.conf中配置:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
以上的配置,应该就可以解决 504 的问题!
参考文章:
https://www.scalescale.com/tips/nginx/504-gateway-time-out-using-nginx/#