mongodb 1000并发需要什么样的服务器配置

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: mongodb 1000并发需要什么样的服务器配置

并发是指一秒数据库收到的4K数据个数。需要什么样的硬件和带宽才能稳定达到1秒1000以上?


观点1


首先,服务器硬件条件要达到要求。网卡带宽是否够;是否有写磁盘,若有,读写速度是否超过磁盘IO带宽;是否有耗时计算,CPU是否会称为瓶颈。 其次,硬件都满足的情况下。你需要使你的软件系统充分利用硬件性能。这个时候就需要合理设计方案,实现。 然后,再你达到了预定的并发量后。再想想能否优化,在更少的资源下完成同样的事情,或者现有资源下完成更多的事情。最后,还有一个重中之重就是,是否易运维,易扩展。这个是很值得你投入精力去做的。


观点2


首先1秒1000并发并不高,题主没说几个关键点:数据量多大,单台机器还是分布式。
如果是分布式有架构的话应该也不会问这种问题。如果是单台机器没有架构 直接裸奔的话最简单做法就是分表分库分机器加缓存。
另外不要用云主机,目前的云主机io性能都不好,还是直接自己弄服务器靠谱
如果数据量小的话就全部加载到内存中。重点是要知道性能瓶颈在哪。


观点3


一般的提法是1000并发,指同时在线数,即1000个客户和服务器保持着连接。可能一整天都能保持这个状态,因此不带上具体多久。


从题主前后文看,题主其实想指的是qps,即每秒的请求数。


如果每秒1K个请求,每个请求都是写入操作,数据大小是4K,那么这是典型的数据库应用。每秒需要写入的数据量是1K*4K=4M。单机下普通配置的mongodb可以应付这样的压力。可否找一下那些地方成为瓶颈了。看看磁盘忙不忙,mongo的CPU高不高。


观点4


如果只是读请求就简单多了,MongoDB RS架构完全够用。我们目前的业务场景,业务用MongoDB只读,每分钟几百万的请求完全跟服务器数量是线形增长的。
至于写的话,假设你们很有钱,就买SSD吧,简单粗暴。
通用的做法是:缓存+数据库(redis+mongodb),自己实现缓存中的任务队列并用某个固定服务flush/merge这些队列。这个队列就复杂到业务逻辑了,缓存是永远避免不了的。
此外,可以从业务逻辑方面考虑优化。(是的,我又一次提到了业务逻辑)或许你们可以将业务分离,解藕数据之间的关联。
我们学到的一个教训是分离数据库,提高单台服务器的处理能力。


云服务器ECS地址:阿里云·云小站

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
2月前
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
82 0
|
2月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
81 0
|
2月前
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
1051 1
|
1月前
|
Java
Java Socket编程与多线程:提升客户端-服务器通信的并发性能
【6月更文挑战第21天】Java网络编程中,Socket结合多线程提升并发性能,服务器对每个客户端连接启动新线程处理,如示例所示,实现每个客户端的独立操作。多线程利用多核处理器能力,避免串行等待,提升响应速度。防止死锁需减少共享资源,统一锁定顺序,使用超时和重试策略。使用synchronized、ReentrantLock等维持数据一致性。多线程带来性能提升的同时,也伴随复杂性和挑战。
|
2月前
|
算法 Java
并发垃圾回收算法对于大规模服务器应用的优势
并发垃圾回收算法对于大规模服务器应用的优势
|
2月前
|
Oracle NoSQL 关系型数据库
实时计算 Flink版产品使用合集之MongoDB CDC connector的全量快照功能可以并发读取吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
19天前
|
存储 NoSQL 关系型数据库
MongoDB的配置服务器和复制机制
【7月更文挑战第2天】MongoDB配置服务器存储分片和权限元数据,支持在主节点故障时保持读服务。关键组件,性能影响显著。复制集包含Primary和Secondary,通过oplog实现数据同步,类似MySQL binlog。oplog的幂等性可能导致大量set操作,且大小受限,可能导致从节点需全量同步。读写分离提升效率,主从切换确保高可用。
15 0
|
2月前
|
NoSQL MongoDB 数据库
【MongoDB 专栏】MongoDB 的并发控制与锁机制
【5月更文挑战第11天】MongoDB的并发控制和锁机制保证数据一致性和性能。全局锁用于特殊情况如数据库初始化,限制并发性能;文档级锁提供更高的并发性,针对单个文档锁定。乐观并发控制利用版本号检查减少锁竞争。在分布式环境下,需协调多节点锁,优化包括合理设计数据模型、调整锁配置和利用分布式事务。未来,MongoDB将持续改进这些机制以应对复杂需求。了解并发控制原理对于数据库开发者至关重要。
【MongoDB 专栏】MongoDB 的并发控制与锁机制
|
1月前
|
网络协议
UDP服务器的并发方案
UDP服务器的并发方案
18 0
|
2月前
|
存储 分布式计算 NoSQL
MongoDB的简介和安装(在服务器上)
MongoDB的简介和安装(在服务器上)
61 0