今天我发现了用ANSI C - G-WAN编写的web框架。
我喜欢它,但它不是开源的,而且只由一个开发人员维护。我害怕在生产中使用它。
你知道有什么更严肃的框架,允许用ANSI C编写web服务吗?
我只对ANSI C感兴趣,而不是c++。
乌利希期刊指南:我谷歌了一下Raphters框架。现在我正在查。
如果你不想使用G-WAN,试试NGINX,它被广泛部署,是目前最快的web服务器之一,即使根据G-WAN作者的判断,它也是一份相当不错的工作。
在G-WAN上工作,我也很重视使用C作为服务器的能力。
你的选择,Raphters
(顺便说一下,像Nginx
),也是开始"只有一个开发人员"。
但是Raphters
开始于2011年(它比2009年开始的G-WAN更成熟吗?),最后一次更新几乎是一年的时间(它比G-WAN维护得更好吗?)。
Raphters的作者说"G-WAN带来了更多"。他可能比我们更清楚。
如果你正在寻找"任何更严肃的框架,允许在ANSI C中编写web服务"然后看看Tuxedo
,由at&t在20世纪80年代开发。
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
Tuxedo
的ApacheBench
(AB)测试证实了上面的测试(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是由它的作者创建的:他找不到任何Web框架能够将他公司的Windows Desktop applications
移植到作为SaaS销售的Web applications
。
也许,在为自己的网站和许多其他网站服务了3年之后,您可以不再"害怕" G-WAN了
并且,对于"任何更严肃的框架",选择是有限的:
-
G-WAN比我迄今为止看到的所有(几十个)更快,更可扩展
-
G-WAN提供(编辑&
-
G-WAN由单个150 KB的可执行文件组成,无需配置即可工作。
为了解决其中一个评论,Lua, Go, Python, Javascript已经被G-WAN支持,PHP将很快到来。
我现在正在使用GWAN处理不同的东西,但是环顾四周,我也发现了monkey (http://monkey-project.com/)。它真正的缺点似乎是缺乏文档和功能,但除此之外,它也应该能够做你想做的事情。
不幸的是,我不知道任何GWAN与Monkey的当前基准测试,只要我继续使用GWAN,我就没有理由自己做一个,但是Monkey的作者似乎认为它比GWAN更快。
关于脚本,如果需要的话,应该可以实现自己的管道,因为我找不到关于monkey的任何信息(参见:缺乏文档)。
由于这个问题已经得到了回答,我只是为了完整而发布。
注::如果你对它感兴趣,你可能还想看看http://duda.io/,这是一个实现web服务的框架,如websockets for monkey。