我们是一家初创公司,目前处于评估模式,使用SUAVE和F#作为Web应用程序开发框架。我非常热衷于使用SUAVE框架来开发我的应用程序。 我只想知道SUAVE是否已准备就绪,是否已针对并发用户和OWIN进行任何性能基准测试,以及Web服务器可以处理多少用户流量。
答案 0 :(得分:2)
现在8个月大的这个帖子,我想分享我使用Suave作为网络服务器的经验。
首先,基于简单基准测量性能不会告诉您关于更复杂系统整体性能的真相。 但是,在使用Suave时,它不太可能成为您应用程序中的瓶颈。 它更多地取决于整个架构,请求和响应之间的机制总和以及实现细节(例如列表上的随机访问速度相当慢)。
我现在在3个项目中使用Suave,总是取得巨大成功。 所有这些都大量使用了并行化和多线程。 其中两个简单地由Suave直接在Nginx-Proxy后面运行,一个使用IIS。 在IIS下运行对性能没有任何可测量的影响。 当我遇到任何性能问题时,Suave从来都不是那个寻找它们的地方。
当使用F#的强大并发和并行化功能时,您的应用程序将受益于垂直扩展。 例如,我构建了一个在AWS上表现相当糟糕的图像处理服务,但在具有四核奔腾处理器的笔记本电脑上却表现不错。 但同样,这与Suave无关。 实际上它几乎不受你的影响。
Suave本身是一个伟大而坚实的选择。在大约2年的时间里,我没有遇到边缘情况,Suave会成为麻烦的原因。
我必须提一下,我的前提是基于简单的Web服务器和服务。 Suave用于相当平坦的Web层来提供RPC或REST-API 其他任务,如流媒体或软实时应用程序可能需要另一种方法,可能不适合Suave。