1秒钟处理200个http请求需要什么样的服务器?

大狗狗 2020-10-23 03:37:51
客户端请求发送的数据量较小,每个请求在200个字节以内,服务器返回的数据量也一样小。服务器采用linux + tomcat,每秒钟会收到约200个来自不同客户端的请求。请问VPS主机可以吗?还是需要独立服务器?VPS主机一年需要几百块钱,而独立服务器一个月就需要几百块钱。自己玩能省就省,想问问大家的经验。
...全文
3021 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangqing 2020-10-24
  • 打赏
  • 举报
回复
tomcat应该支持
大狗狗 2020-10-23
  • 打赏
  • 举报
回复
感谢朋友们的专业回复,我是在做一个在线棋类游戏。设计最多允许200人同时在线对奕。如果采用心跳重连机制,间隔1秒,那么服务器就需要在一秒钟时间内处理200个客户请求。而我没有经济能力拥有一个强力的服务器,更谈不上什么集群和分布了。棋类游戏的通信比较频繁,但数据量小,每次百十个字节。大多数时候不需要IO和数据库操作。
tianfang 2020-10-23
  • 打赏
  • 举报
回复
你采用什么服务器?tomcat? 配置异步了吗? 你的这个请求处理需要访问数据库吗?还是内存缓存 如果配置了异步,只是心跳处理,没有数据库访问,单核心就足够支持。你可以自己用apach ab测试一下
ziqi0716 2020-10-23
  • 打赏
  • 举报
回复
引用 3 楼 大狗狗 的回复:
由于ajax轮询方式太耗服务器,所以决定采用html5 WebSocket。但WebSocket需要解决断网重连问题。网上的文章是采用心跳重连机制。但这个方案我认为并不完美,因为心跳间隔短了,服务器压力依然会较大,还不如采用ajax轮询。而间隔长了,实时性上又会打折扣。我认为服务器一般是比较稳定的,断网主要出在客户端上。所以我想了个方法,客户端代码定时去查询网络是否连通,但请求不是发到我的服务器上,因为我的服务器太弱了。而是发到某个知名网站上,去申请一个体积比较小的资源。如果申请成功,说明网络通畅,WebSocket也基本确定不会挂。否则说明网络断了,WebSocket也肯定完蛋,于是向我的服务器发起重连。这样等于每秒200次的并发让某知名网站给承担了,大家说这个方法怎么样?
还是具体分析下这200个请求的类型集服务器收到请求后要干什么,对症下药. 另外,心跳机制本身没问题,但是建议还是不要这么做,后面要处理的问题多着呢,客户端管理,断线重连,数据断包,粘包等等,不如使用现成的通讯协议框架,如Mqtt协议等(有各种语言现成的服务端和客户端实现库).
ziqi0716 2020-10-23
  • 打赏
  • 举报
回复
高并发核心个人认为,就是要合理的利用缓存,减少不必要的IO. 所以,得看你提供的服务类型,并在合适的层设置缓存.假如这200个请求都一样,那你直接在第一请求后将结果放入缓存中,那后面199次请求就非常快了,服务器压力很小. 但假如这200个请求都不一样,要分别计算返回结果,那就要考虑分布式,消息队列之类的技术了.还是得看具体业务. 这片博客写的挺好的,可以看看:https://blog.csdn.net/DreamWeaver_zhou/article/details/78587580
大狗狗 2020-10-23
  • 打赏
  • 举报
回复
由于ajax轮询方式太耗服务器,所以决定采用html5 WebSocket。但WebSocket需要解决断网重连问题。网上的文章是采用心跳重连机制。但这个方案我认为并不完美,因为心跳间隔短了,服务器压力依然会较大,还不如采用ajax轮询。而间隔长了,实时性上又会打折扣。我认为服务器一般是比较稳定的,断网主要出在客户端上。所以我想了个方法,客户端代码定时去查询网络是否连通,但请求不是发到我的服务器上,因为我的服务器太弱了。而是发到某个知名网站上,去申请一个体积比较小的资源。如果申请成功,说明网络通畅,WebSocket也基本确定不会挂。否则说明网络断了,WebSocket也肯定完蛋,于是向我的服务器发起重连。这样等于每秒200次的并发让某知名网站给承担了,大家说这个方法怎么样?
叶辉生 2023-03-15
  • 举报
回复
@大狗狗 你学过网络吗,不同的地址,数据所经过的路径都不一致,比如深圳到广州的高速不塞车,就能保证深圳到上海的高速不塞车吗
KeepSayingNo 2020-10-23
  • 打赏
  • 举报
回复
你自己玩搞个工作站电脑应该就可以支持吧
医手 2020-10-23
  • 打赏
  • 举报
回复
这个要实际压力测试吧。如果服务器要访问文件或数据库,很容易在文件读写或数据库服务器出现瓶颈。 按我的猜想,一般的企业Web应用,一台服务器是搞不定1秒钟处理200个http请求的
课程亮点: 从无到有、手把手教你编写CA/TA,快速上手,快速部署项目标准的开发,开发一套CA/TA,可部署到不同的TEE OS上。受益人群: 汽车行业主机厂、tier1、SOC芯片公司的安全部门同事手机行业,ODM/OEM、SOC芯片公司的安全部门同事学生课程收益: 熟悉CA/TA开发的步骤和流程。快速上手,快速搭建自己开发环境。熟悉各类TEE、基于各类TEE的CA/TA开发步骤。搭建自己的安全平台熟悉各类常规安全应用熟悉tee密码学算法、tee存储  课程大纲  Hello大家好,上架一门新的视频课程,课程主要包含两大部分,第一部分搭建环境,第二部分从无到有的编写代码。带领大家手把手编写。 具体大纲如下:(1)qemu v8环境搭建- 搭建一个qemu_v8的环境,用于跑BL1-->BL2-->BL31-->BL32-->BL33-->Linux kernel;- 直接使用已搭建好的镜像- 工程使用以及说明(2)CA/TA开发编程实践从无到有编写代码,已完成的大纲如下:- 2秒钟快速编写(clone)一组CA/TA程序- 安全存储详解以及代码示例- CA到TA双向传参数的四种方式(value、temref、memref),区别?优缺点?- 对称密码学算法aes的使用,CBC/ECB/CTR/XTS分组密码的使用,加密解密,pending等- aeskey的操作,如何随机生成aeskey(TEE_GenerateKey),objectHandle和aesbuf有什么区别? 如何将handle- 认证加密算法,如aes-GCM的使用- 非对称密码学算法RSA的使用,包括加密、解密、签名、验签- RSA key的处理,包含如何生成RSA KEY,rsakey object如何转换成可见的数组,如何转换der,如何转换pem,反向又如何转换- ECC/ECDSA的使用- 国密sm2 sm3 sm4的使用.  其中sm4包含加密、解密、签名、验签等- encode和decode的实现- TA属性的定制以及API的使用- 数字摘要  SHA1 sha224 sha256 sha384 sha512等- 消息认证码 HMAC- TEE侧获取时间的函数有哪些(TEE_GetSystemTime、TEE_GetREETime),有什么区别?分别是怎样使用的? - 如何获取随机数(TEE_GenerateRandom)?- TA调用TA的示例和演示后续可能继续补充的如下(也欢迎大家提需求):- multi-session和multi-instance的使用- CA LOGIN flag的使用 

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧