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