我知道Vibe.D实现基于Fibers。 但我不知道Vibe.D如何处理高负荷情况。它是Vibe.D中的调度程序在多个线程上分配光纤还是仅为所有光纤分配一个线程?
这个考虑因素非常重要,因为即使光纤效率很高,浪费了大量的CPU时间也不会超过一个线程来处理所有传入的请求。
答案 0 :(得分:5)
他们的头版说是:
此页面包含详细信息
http://vibed.org/features#multi-threading
传入连接的分布式处理
可以指示HTTP服务器(以及任何其他基于TCP的服务器)处理线程池的工作线程而不是主线程中的传入连接。对于不需要在进程中的不同连接之间共享状态的应用程序,这可以随着系统中的核心数量线性增加每秒的最大请求数。使用HTTPServerOption.distribute或TCPListenOptions.distribute设置启用此功能。