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