php-与Postgres一起使用的图像/媒体服务器
我最近有一个nginx php-fpm服务器,该服务器提供如下图像:
我开始意识到,无论是否缓存了映像,服务器上的性能都受到了极大的打击. CPU利用率极高,只有最少的连接数才达到100%.因此,我开始将图像卸载到CDN上,并立即获得了性能上的提高,但是在某些情况下,我仍然要求通过服务器来提供图像,这使我想到了图像/媒体服务器的概念. 我的问题是,是否应该使用特定类型的服务器?可以与数据库通信以找到图像位置并提供服务的数据库吗?文件系统类型?或者我还是最好只启动另一个Nginx php-fpm实例并创建一个类似于CDN的结构实现,其中:
仅指向该服务器,因此对Web服务器没有性能影响吗? 最佳答案 您的问题是您将图像视为字符串而不是流.绝对没有必要使用file_get_contents()将其全部加载到php中并继续回声.查找诸如readfile()和与PG相关的LOB功能之类的内容:
http://php.net/manual/en/function.readfile.php
http://php.net/manual/en/pdo.pgsqllobopen.php 类似地,查看与缓存控制相关的标头.无需重新发送浏览器缓存中已存在的图像.尝试在可能的情况下发送304未修改: Make PHP page return “304 Not Modified” if it hasn’t been modified (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Mediawiki上将HTTPS与URI一起使用
- nginx从1.2.1更新到1.9.2后,PHP-FPM状态页面为空白
- ruby-on-rails – 无法将HTTP响应转发回HTTP客户端:用户似
- apache-2.2 – 使用nginx进行负载均衡时,每秒请求速度较慢
- 如何在NgInX中将带有查询字符串的URL重定向到没有查询字符串
- nginx通过uWSGI在一个子目录中提供Django
- 是什么决定了Nginx配置中服务器块数量的实际限制?
- Newrelic插件Nginx-nr-agent无法正常工作
- 套接字-SOCKET_RWGROUP = ClamAv中的后缀?
- node.js-端口号未隐藏在Nginx反向代理中(下一个JS服务器)
- nginx访问502 gateway,*1 connect() failed (11
- 在debian(基于系统)上配置git-http-backend的ngi
- nginx-为什么我不能在Kubernetes上水平扩展简单的
- SSL握手时nginx严重错误
- php-当文件大小大于2mb时Laravel文件上传失败
- apache-2.2 – CPU内核和worker/maxservers
- if-statement-仅在存在cookie的情况下如何有条件
- ruby-on-rails – nginx limit_req速率限制的问题
- 为什么nginx为目录别名中的请求提供错误的MIME类
- 扩展Nginx,PHP-FPM和MongoDB