LightTPD 是一款面向高性能场景设计的开源 Web 服务器,由德国开发者 Jan Kneschke 主导,2003 年首次发布。它以极低的内存占用和 CPU 消耗著称,同时兼顾稳定性、灵活性与响应速度。在 Netcraft 2011 年 3 月的调查中,它排在全球第五位,YouTube、The Pirate Bay、Meebo 等站点都曾把它作为首选服务器。对于长期被高负载困扰的环境来说,LightTPD 提供了一条轻量而高效的替代路径。

LightTPD 的目标很明确:为高性能网站提供一个安全、快速、兼容性良好且配置灵活的 Web 服务器环境
1、 内存开销非常低,CPU 占用率也控制在较小范围内,适合资源有限的机器
2、 内置速度优化技术,在同等硬件条件下能获得不错的并发处理能力
3、 模块体系丰富,可根据实际需求裁剪或扩展功能
4、 在开源轻量级 Web 服务器中属于较为优秀的一个,常被拿来与 Apache、Nginx 做比较
对于原本使用 Apache 的用户,LightTPD 在常见功能上提供了对应的实现,迁移时需要重点确认以下能力是否满足业务
1、 支持 FastCGI 和 CGI,方便运行动态脚本
2、 支持 Auth 认证机制,可对访问进行权限控制
3、 支持输出压缩(output compress),减少传输体积
4、 支持 URL 重写和 Alias 别名,便于维护站点路径规则
5、 Apache 流行的原因之一就是功能全面,LightTPD 在多数场景下能覆盖类似需求,但迁移前仍需逐项核对
LightTPD 通常以 FastCGI 方式运行 PHP,用较少的 PHP 进程响应较大的并发量,这是它处理动态请求的典型做法
1、 稳定性方面,FastCGI 以独立进程池运行,单个进程崩溃后系统可以丢弃并重新分配新进程继续工作
2、 安全性方面,FastCGI 与宿主服务器完全独立,FastCGI 进程异常不会直接拖垮服务器本身
3、 性能方面,动态逻辑处理从服务器中分离,大负荷的 IO 处理仍由宿主服务器承担,静态图片等请求不必经过逻辑程序
4、 扩展性方面,FastCGI 是中立的技术标准,可以支持 PHP、Java、Python 等多种语言编写的处理程序
Nginx 侧配置启用了 kqueue,worker_connections 设为 102400,测试结果如下
1、 完成 100000 次请求,失败请求为 0,Broken pipe errors 为 0
2、 总耗时 86.578 秒,平均每秒处理 1155.03 个请求
3、 平均每请求耗时 865.78 毫秒,并发平均每请求 0.87 毫秒
4、 传输速率约 57489.84 Kbytes/sec
5、 连接时间中,Connect 平均 297 毫秒,Processing 平均 555 毫秒,Total 平均 852 毫秒
6、 50% 请求在 473 毫秒内完成,90% 在 3308 毫秒内完成
7、 iostat 显示磁盘压力只在测试开始时较大,由于所有组件在同一台服务器,瞬间 CPU 空闲率降到 0.3%,其中 ab 占用 40% 多,Nginx 占用不到 40%
LightTPD 侧同样使用 kqueue,主要配置项包括 server.max-fds = 8192、server.stat-cache-engine = "simple"、Server.max-connections = 4096,测试结果如下
1、 完成 100000 次请求,失败请求为 0,Broken pipe errors 为 0
2、 总耗时 83.107 秒,平均每秒处理 1203.27 个请求
3、 平均每请求耗时 831.07 毫秒,并发平均每请求 0.83 毫秒
4、 传输速率约 59352.10 Kbytes/sec
5、 连接时间中,Connect 平均 19 毫秒,Processing 平均 807 毫秒,Waiting 平均 807 毫秒
6、 在相同硬件和并发条件下,LightTPD 的总耗时略短,每秒请求数略高,连接建立阶段耗时明显更低
(您的评论需要经过审核才能显示)
0条评论