请推荐一门能精确控制大量并发并行的编程语言或解决方案

2020-12-14 17:11:55 +08:00
 Antigen

需求是短时间内发送大量 GET 和 POST 请求,支持并行,要有极致的效率,慢一毫秒都无法接受的那种。

我现在已经用 Python 的异步方式实现了一个小 Demo,用到了 Trio 和 HTTPX 这两个包。但是速度并不满意。虽然能够并发,但是随着并行数量越来越多,提升硬件和带宽并不能提升效率。毕竟异步仍然是单核单线程。

我也搜了相关的内容,比如用 Go 语言试试。但是时间有限,比较着急,希望熟悉的大佬能指点一下,谢谢。

7941 次点击
所在节点    Python
66 条回复
Greatshu
2020-12-15 16:35:02 +08:00
上 FPGA 吧,这个需求适合用 C/汇编
jinliming2
2020-12-15 23:42:10 +08:00
只管发不管收,那我建议直接 socket,建立 TCP 连接之后直接把固定的 HTTP 协议头硬编码作为 byte[] 发出去,不要走 HTTP 那一套。
建议 C 语言。
这种小程序,随便网上一搜就能搜到 sockst 编程示例。
另外起多个进程,有几个 CPU 核心就起几个进程,进程指定 CPU 亲和性,每个进程分配到指定的 CPU 上。
CRVV
2020-12-16 00:30:12 +08:00
需求不是这么提的,不能用 “尽最大可能” 这几个字。如果要用 “尽最大可能”,那你就需要明确项目预算或者类似的限制。
尽最大可能提高速度,那当然是直接把 Internet 停了,全给你一个人用,同时把光纤铺满地球,地表满了就打洞过去,如果嫌光在介质里的速度不够快还可以再开发个不用光纤的传输方式,这样才叫尽最大可能。

另外,所谓速度其实是两件事情,高吞吐量高和低延迟。DDOS 那样应该是高吞吐量但延迟无所谓。但楼主又说“慢一毫秒都无法接受”,这和 DDOS 完全是两码事了。
jones2000
2020-12-16 01:11:11 +08:00
c++开发, 或者上集群靠机器顶
jones2000
2020-12-16 01:14:36 +08:00
另外你的写了你的需求, 但是预算没写呀。 预算越多, 并发越快。给多少钱就办多少事。
nmap
2020-12-16 14:09:12 +08:00
是不是昨天 google 宕机就是你干的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/735351

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX