利用MongoDB实现Ruby应用的高性能及Web应用搭建
1. 数据选择优化
为确保数据库不过载并能处理更多请求,从而提升整体性能,在数据选择方面可采取以下做法:
- 避免全量文档获取 :不要一次性获取集合中的所有文档,可使用分页并根据应用需求将数量限制在合适范围。
- 按需获取字段 :若不进行缓存,仅获取所需字段。若结合缓存策略,获取整个文档是有意义的。
2. 内存映射存储引擎性能
MongoDB默认使用内存映射存储引擎,它利用内存映射文件进行磁盘I/O,具有内存级别的速度,且文件系统缓存和数据库缓存相同。操作系统的虚拟内存管理器负责这些文件的大小、交换和管理,随着其更新,MongoDB性能也会自动提升。
3. Ruby应用服务器选择
处理HTTP请求的Web服务器众多,如Apache和nginx等,而请求可由不同的应用服务器处理,如PHP、Java、Ruby等。以下是几种推荐的Ruby应用服务器:
| 服务器名称 | 特点 |
| ---- | ---- |
| Passenger | 可与Apache或nginx良好编译,能轻松配置运行Sinatra或Rails应用,根据负载生成和回收工作进程,适合可扩展的Web服务器。 |
| Mongrel和Thin | Mongrel处理Rails请求,Thin是Mongrel加上事件驱动I/O和Rack的组合,工作进程数量可轻松配置,速度快且高效。 |
| Unicorn | 以稳定性和可靠性著称,能处理故障重启和抢占慢请求,使用Unix域
超级会员免费看
订阅专栏 解锁全文
46

被折叠的 条评论
为什么被折叠?



