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