使用 cgi-bin 每天处理 2 亿个请求。

主要观点:2000 年代初常写 CGI 程序,是当时让网站动态的主要方式,多以 Perl 编写,有时用 C 提高性能。CGI 机制简单强大,服务器接收请求后会设置环境变量等并执行程序,程序处理请求后将输出作为 HTTP 响应。CGI 程序处理完单个请求后会退出,文件描述符和内存自动释放,开发体验好,部署新程序只需复制到服务器目录。如今服务器性能大幅提升,CGI 程序能很好利用多 CPU,在现代硬件上运行速度较快。
关键信息

  • 典型服务器 2000 年代初配置及限制,易被 Slashdot 影响。
  • 现代服务器有 384 CPU 线程等,CGI 适合利用多 CPU。
  • 编写了简单的 guestbook CGI 程序,用 Go 和 SQLite 实现,代码已推至 GitHub。
  • 分别用 Apache 和 Go net/http 服务器对 guestbook CGI 程序进行读写测试,得出不同的性能数据。
    重要细节
  • Apache 处理请求时会 fork 进程,限制并发连接数。
  • 测试用 plow 进行并发 HTTP 请求测量结果,如每秒请求数、读写速度、延迟等。
  • 给出不同测试的详细数据,包括最小、平均、标准差、最大值等。
  • 提及在 Hacker News 讨论和在 Bluesky 上可找到作者。
阅读 9
0 条评论