lighttpd中的epoll超时配置

lighttpd中的epoll超时配置

是否有配置选项可以调整 lighttpd 中的 epoll 超时?
我正在开发一款嵌入式 Linux (2.6) 设备,使用的是 lighttpd 1.4.30。我观察到以下问题:即使系统处于空闲状态且没有连接任何 Web 客户端,lighttpd 每秒都会唤醒一次(见下文)。

/# cat /proc/timer_stats
计时器统计 版本:v0.2
采样周期:6.382 秒
15,137 alt-ecm hrtimer_start_range_ns (hrtimer_wakeup)
23,5 事件/0 uectl_readerwork (delayed_work_timer_fn)
10,380 db_probe hrtimer_start_range_ns (hrtimer_wakeup)
3,121 atswitch hrtimer_start_range_ns (posix_timer_fn)
6,380 db_probe hrtimer_start (timerfd_tmrproc)
6、226 lighttpd sys_epoll_wait(process_timeout)

目标是尽量减少系统从空闲状态唤醒的次数,提前致谢!

答案1

一秒定时器用于以下情况:

  • 插件 API:每个插件可以有一个 _trigger 方法,该方法应该每秒调用一次
  • stat_cache_cleanup
  • 检查每个连接是否超时

您可以在第 1460 行左右增加轮询的超时时间src/server.c

if ((n = fdevent_poll(srv->ev, 1000)) > 0) {

该值以毫秒为单位,硬编码为 1000 -> 1 秒。但即使将其设置为 5 或 10 秒也帮不了你什么忙……

相关内容