最近疯传一则 《MongoDB GridFS 数据读取效率 benchmark》的帖子,最初是在greader上看到的,当作一说,收藏之,也没太在意。咱老大却是很给力.."这个我们可以做".
额..好吧。对照着greader上的那则,google之,我勒个去,铺天盖地的转载、盗载...,就是没看到该是个什么样的配置法。得,自己动手 丰衣足食。
先去这个地方
http://github.com/mdirolf/nginx-gridfs看了下,n久没更新的patch,前段日子刚做完更新,而且还是针对 Mongo 的gridfs更新的(难道原始出处就是这丫折腾出来搭?)看在说明还很详尽的份上,用了!
(广告一则:不怎么用git,直接用的页面上给的download,下来发现mongo的drive包是空的,丫竟然另开了一个project,所以那个驱动得单下,记得要解包在drive目录下)
既然module是新的,那就用个新的nginx吧(0.8.52),还支持uwsgi,当然是后话了。
用的pymongo,似乎最近也更新了版本。不管了,总算是把图片折腾进去了,具体做法这儿
http://api.mongodb.org/python/1.9%2B/api/index.html可查。
g.put(open('/tmp/image/pe-logo-big.png','rb').read(),filename='hh.png')
nginx配置么:
location /image/ {
gridfs static_file root_collection=images field=filename type=string;
mongo 127.0.0.1:27017;
}
浏览器试运行,不错,可以看到图,OK,下面按照帖子中的测试方式:
ab -n 50000 -c 10 http://192.168.2.131/image/hh.png
结果...
Server Software: nginx/0.8.52
Server Hostname: 192.168.2.131
Server Port: 80
Document Path: /image/hh.png
Document Length: 25338 bytes
Concurrency Level: 10
Time taken for tests: 628.173000 seconds
Complete requests: 50000
Failed requests: 0
Write errors: 0
Total transferred: 1274150000 bytes
HTML transferred: 1266900000 bytes
Requests per second: 79.60 [#/sec] (mean)
Time per request: 125.635 [ms] (mean)
Time per request: 12.563 [ms] (mean, across all concurrent requests)
Transfer rate: 1980.80 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 11 97.8 2 3055
Processing: 3 114 298.9 62 4001
Waiting: 0 79 242.9 30 3144
Total: 6 125 314.6 69 4004
Percentage of the requests served within a certain time (ms)
50% 69
66% 110
75% 129
80% 152
90% 232
95% 288
98% 370
99% 3016
100% 4004 (longest request)
额,这个就有点杯具了,与帖子上的结果也差太多了吧。好吧,按照鲜花总要有绿叶衬托,
再试一下所谓的nginx直接读文件:
Server Software: nginx/0.8.52
Server Hostname: 192.168.2.131
Server Port: 80
Document Path: /pe-logo-big.png
Document Length: 25338 bytes
Concurrency Level: 10
Time taken for tests: 934.880000 seconds
Complete requests: 50000
Failed requests: 0
Write errors: 0
Total transferred: 1281150000 bytes
HTML transferred: 1266900000 bytes
Requests per second: 53.48 [#/sec] (mean)
Time per request: 186.976 [ms] (mean)
Time per request: 18.698 [ms] (mean, across all concurrent requests)
Transfer rate: 1338.27 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 18 165.1 3 3123
Processing: 3 168 500.1 69 10197
Waiting: 0 77 362.7 14 6119
Total: 5 186 525.6 74 10200
Percentage of the requests served within a certain time (ms)
50% 74
66% 111
75% 130
80% 159
90% 263
95% 296
98% 3035
99% 3097
100% 10200 (longest request)
好吧在绿叶的衬托下,鲜花是有那么点吸引人之处了(虽然和那篇神帖结果截然相反了)。
不过也有可能在nginx时没有做缓存的缘故。
之所以在标题上加了个“残”,很显然,革命尚未成功啊。。后文待我喘过气再表!
分享到:
相关推荐
《Nginx集成MongoDB GridFS模块详解》 在当今的Web开发中,Nginx作为一款高性能的HTTP和反向代理服务器,以其轻量级、高效稳定的特点被广泛使用。而MongoDB作为NoSQL数据库的代表,因其灵活的数据模型和强大的数据...
Linux Nginx-GridFS是将MongoDB的GridFS存储系统与Nginx Web服务器集成的一种...提供的"nginx+gridfs+rtmp服务器部署帮助文档.docx"和"nginx+grids+rmtp安装包"应该包含详细的步骤和指南,帮助你顺利完成部署和配置。
本文将围绕“Nginx + keepalived + MongoDB + haproxy + Sphinx”这一技术栈,详细介绍如何实现一个稳定的分布式集群部署方案。 #### 二、关键技术解析 ##### 1. Nginx **定义**:Nginx是一款高性能的HTTP和反向...
Nginx-GridFS是Nginx的一个模块,用于提供对MongoDB的GridFS存储系统的直接访问,使得Web应用可以直接通过Nginx读取和存储MongoDB中的大文件,如图片、视频等。 首先,我们来了解一下Nginx的基本安装步骤: 1. **...
Nginx+Uwsgi+Django(python3)+Vue部署,一步步实现。网上找了N多篇文章都没成功,特意记录,以免其他同学踩坑
在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Redis"的组合是一种常见的架构模式。这个架构充分利用了每个组件的优势,以实现高效的数据处理、动态内容渲染和负载均衡。以下是对这套技术栈的详细解释: 1. **...
Nginx-gridfs是一种高效的Web服务器插件,它允许Nginx直接与MongoDB数据库交互,用于存储和检索文件。这种集成使得Web应用程序可以利用MongoDB的强大功能,尤其是其GridFS文件系统,来托管和提供静态内容,如图片、...
Nginx-GridFS是一种高效的文件存储和访问解决方案,它结合了Nginx Web服务器的高性能特性和MongoDB的GridFS存储系统。GridFS是MongoDB数据库的一个子系统,专门设计用于存储和检索大型文件,如图像、视频或文档。...
Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...
这个压缩包“nginx-gridfs.tar.gz”很可能包含了一个集成解决方案,将流行的Web服务器Nginx与MongoDB的GridFS功能相结合,从而提供高效、可扩展的文件服务。 MongoDB的GridFS设计为将大文件分割成多个小块,每个块...
**Nginx-GridFS** 是一个开源项目,它允许用户通过Nginx Web服务器直接访问存储在MongoDB中的文件,使用GridFS作为文件存储系统。这个解决方案将高性能的Nginx与MongoDB的分布式文件系统相结合,为大规模的静态内容...
Linux利用nginx-gridfs搭建部署,nginx-gridfs-0.8 可用
CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0
Centos傻瓜式安装nginx+php+mysql+memcache+mongodb 本文档将指导您在CentOS系统上安装nginx、php、mysql、memcache和mongodb五个软件包的傻瓜式安装方法。 Nginx安装 Nginx是一款轻量级的Web服务器软件,常用于...
Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...
详细说明了windows服务器nginx+tomcat+mysql部署及配置(配置阿里云后台安全组,配置域名)很适合新手学习 附件中包含: 1.操作说明文档 2.操作录屏 3.安装所用到的软件安装包 1)Windows Server 2019 数据中心版 ...
### Web环境搭建:Linux+Nginx+PHP+MySQL+Redis #### 一、环境概述与推荐版本 在构建一个高效且稳定的商城系统时,选择合适的Web环境至关重要。本指南将介绍一套广泛应用于电商平台的技术栈——**Ubuntu + PHP + ...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"Nginx+Tomcat"的组合常被用于实现这一目标。本实例将详细阐述如何通过Nginx配置集群负载均衡,以实现动静分离,提升系统性能和稳定性。 首先,Nginx是一款...
Nginx+Keepalived 组网主备集群网络拓扑图,欢迎下载
这个小例子"nginx+tomcat+redis完成session共享"旨在演示如何通过这三种技术实现跨服务器的用户会话共享,以提升用户体验并简化系统管理。以下是这些技术及其在会话共享中的作用: 1. **Nginx**:Nginx是一款高性能...