原文:http://projects.unbit.it/uwsgi/wiki
当前特性
C语言写的
很快很简单的网络集成通讯协议(apache2, nginx, cherokee and lighttpd )
低内存(对亏了过早优化:大的结构还没有确定的时候,先投入精力在一些细小的地方做优化。)
在一个进程/域名下支持多个应用。
一个管理进程允许你自动复位进程和监控推栈状态。
多协议支持(uwsgi, http, fastcgi and mongrel2 开箱即用)
Preforking 模式改善并发
地址空间和rss使用报告
高级日志(甚至网络化,看 UdpLogging, SocketLogging, ZeroMQLogging, LogFormat, RedisLogging, MongoDBLogging)
静态文件服务通过sendfile()
可移植(tested on Linux 2.6/3.x, Solaris/OpenSolaris/OpenIndiana, OpenBSD, NetBSD, DragonflyBSD, FreeBSD >= 8.0, MacOSX, Nexenta, and Haiku)
支持 SPARC64 or ARM 的架构
支持线程(0.9.7-dev可配置)
支持懒惰和丑陋的CGI模型
自愈
线性的系统调用
热添加应用。看DynamicApps and uwsgi protocol variables
the-fly配置参数。看ManagementFlag
大而专业的用户群(数以百计的wsgi/psgi/rack 程序),感谢主要的开发者Italian ISP Unbit。
商业可用(联系Unbit获得更多信息)
所有代码都基于GPL2授权协议
配置缓冲区大小来使用小内存来管理大并发量。
自定义编译(你可以去掉不用的方法)
智能的工作复位
限制每个worder的请求数
额外的进程(守护进程),避免不干活的workers
对高级用户进行的预请求(看RunOnNginx)
unix和tcp套接字支持
优雅的restart 工作进程和使用信号来热插拔的替换和升级uwsgi服务。看uWSGIReload
一个共享的内存在worder/进程 之间分享数据。看SharedArea
完整的后台程序管理长时间运行的任务和一些通用的程序
信息交换(使用uwsgi协议)的易于实现的分布式应用。(看ClusteredExamples)
各个worder的统计信息,看EmbeddedModule
集成 异步、代理、均衡器、路由
地址空间限制使用
当指定内存用完以后,自动重载workers。
集成SNMP代理,状态服务,nagios支持
支持RRDTool and Graphite/Carbon
虚拟主机模式
嵌入式的异步或事件 http服务,轻松开发、测试和负载
Emperor 模式适合大规模主机
支持Linux Cgroups, POSIX Capabilities, KSM 和命名空间
对额外的时间有一个信号框架(文件系统,定时器)
共享内存/hash表/字典。看CachingFramework
共享对铁(使用堆栈,先进先出货简单的数组),看QueueFramework
便宜,空闲和懒加载模式,自动的调整、禁用、激活workers,或控制fork()行为
ZergMode用来在已运行的示例中自动添加workers 。
快照用来紧急恢复应用
支持 Systemd, Upstart, inetd/xinetd
内部路由
ConfigLogic and CustomOptions 可动态配置