1秒1000并发,高并发需要什么样的服务器?
目前使用的是MongoDB数据库,需要4天的豪华云主机才勉强达到每秒8900并发。
如果需要根据数据量和业务复杂程度综合评估硬件水平,建议购买两台云主机(4核8g内存)搭建集群环境。然后根据实际需要进行扩展。
软件级别:
首先,如果是写操作,它应该:
1.1使用消息队列进行异步处理(如activemq等。)以避免消息拥塞。
1.2使用MongoDB的批量写功能,比如每1000条数据写一次。
第二,MongoDB采用集群模式部署,可以分散压力。
第三,如果是读操作,可以考虑添加redis,一级缓存热点数据。
每秒1000的并发不算太高,简单优化一下就行了,现在一般服务器应该可以支持。首先看一下linux系统的线程池分配和io限制。
当然不建议让数据库抗频繁高并发。应该在整体架构上优化,架构缓存服务器是否可以考虑在数据库上层,针对具体业务做一些优化。
多读还是多写,索引是怎么建立的?什么是慢速sql?单次访问的数据量是多少?
从正常的角度来看,还远远谈不上数据库的性能瓶颈,具体问题具体分析。
硬件似乎够用,程序优化更重要。
一般情况下,一个人站几千是没问题的。根据你的情况,问题可能在两个方面:web服务的io或者DB。
影响web服务性能的关键因素是io和线程模型。web框架的性能(netty,mina等。)的nio用epoll系列会比bio高很多。
其次是DB、索引、os页面缓存等等。
一个1000块钱的程序员,可以写出每秒1000个订单的服务器。
宽带肯定是几十兆,硬件其实也没问题。现在你可以用一台非常便宜的pc来做一个分布式架构。至于内存和硬盘的大小,主要是根据数据和存储的大小来决定的。希望我的回答能帮到你!
大数据时代,大数据培训都学些什么呢?
一般来说,IT培训机构开设的大数据培训课程主要是学习大数据应用与开发的技术。
主要课程基于javase。然后开始学习基于java的hadoop框架。当然,我也会涉猎spank和storm。你还将学习python,一种编程语言。
大数据应用级开发工程师只是其中一个小的技术方向。大数据有很多技术领域,比如数据分析、数据挖掘、可视化开发等。
而数据分析、数据挖掘等技术方向对理论知识的要求非常高,是无法培养出来的。一些培训机构开设此类专业要慎重。因为高等数学,离散数学,统计,概率都不是短时间能培养出来的。