今天我发现了用 ANSI C - G-WAN 编写的网络框架。
我喜欢它,但它不是开源的,仅由一名开发人员维护。我害怕在生产中使用它。
你知道任何更重要的框架,允许用 ANSI C 编写 Web 服务吗?
我只对 ANSI C 感兴趣,而不是 C++。
UPD:我用谷歌搜索了 Raphters框架。现在我正在检查它。
今天我发现了用 ANSI C - G-WAN 编写的网络框架。
我喜欢它,但它不是开源的,仅由一名开发人员维护。我害怕在生产中使用它。
你知道任何更重要的框架,允许用 ANSI C 编写 Web 服务吗?
我只对 ANSI C 感兴趣,而不是 C++。
UPD:我用谷歌搜索了 Raphters框架。现在我正在检查它。
在 G-WAN 上工作时,我也很重视使用 C 作为服务器的能力。
您的选择Raphters
(Nginx
顺便说一句)也是“仅由一位开发人员”开始的。
但是Raphters
从 2011 年开始(它是否比 2009 年开始的 G-WAN 更成熟?),最后一次更新已经快一年了(它是否比 G-WAN 维护得更好?)。
Raphters 的作者说 “G-WAN 有更多功能”。他可能比我们更了解。
如果您正在寻找“任何允许使用 ANSI C 编写 Web 服务的更重要的框架”,请查看Tuxedo
由 AT&T 在 1980 年代开发的 .
30 年后,Tuxedo
它“成熟”、“维护良好”,而 ORACLE(新主人)很可能会留下来。
但Tuxedo
不提供G-WAN ( 850,000 TPS
) 的性能。以下是同一台机器上的相同weightp
测试(尽管硬件强大,但很快就死了):Tuxedo
15,000 TPS
Concurrency / min / average / max
---------------------------------
1, 5477, 6151, 8161
10, 7894, 11416, 15451
20, 8177, 11894, 15578
30, 10064, 13246, 15499
40, 1, 909, 8885
50, 1, 18, 130
60, 1, 1, 1
70, 1, 1, 1
80, 1, 1, 1
90, 1, 1, 1
100, 1, 1, 1
的ApacheBench
(AB) 测试Tuxedo
证实了上面的测试(AB 比weighttp
上面使用的要慢):
ab -n 100000 -c 10 -k "http://127.0.0.1:8080/"
Server Software: Oracle
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 266 bytes
Concurrency Level: 10
Time taken for tests: 12.462 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 48400000 bytes
HTML transferred: 26600000 bytes
Requests per second: 8024.45 [#/sec] (mean)
Time per request: 1.246 [ms] (mean)
Time per request: 0.125 [ms] (mean, across all concurrent requests)
Transfer rate: 3792.80 [Kbytes/sec] received
看到这里,也许你明白为什么 G-WAN 是由它的作者创建的:他找不到任何能够将Windows Desktop applications
他的公司移植到Web applications
SaaS 市场的 Web 框架。
我自己现在正在使用 GWAN 处理不同的东西,但是环顾四周,我也发现了猴子(http://monkey-project.com/)。它的真正缺点似乎是缺乏文档和功能,但除此之外,它还应该能够做你想做的事。
不幸的是,我不知道 GWAN 与 Monkey 的任何当前基准,只要我继续使用 GWAN,我没有理由自己做一个,但 Monkey 的作者似乎认为它比 GWAN 更快。
关于脚本,如果需要,应该可以实现自己的管道,因为我找不到关于猴子的任何信息(请参阅:缺乏文档)。
由于这已经得到回答,我只是为了完整性而发布。
PS:如果你觉得有趣,你可能还想看看http://duda.io/这是一个实现 web 服务的框架,比如猴子的 websockets。
也许,在为自己的网站和许多其他网站服务 3 年后,您可以停止对 G-WAN感到“害怕” 。
而且,对于“任何更严肃的框架”,选择受到限制:
G-WAN 比我目前所见的(数十个)更快、更具可扩展性
G-WAN 提供(编辑和播放)ANSI C、C++、Objective-C、Java 脚本。
G-WAN 包含一个 150 KB 的可执行文件,无需配置即可工作。
为了解决其中一条评论,G-WAN 已经支持 Lua、Go、Python、Javascript,PHP 即将推出。