我一直在处理网站上日益增长的系统资源需求,这让我想到:
在内存中从单个服务器提供单个静态网页的最快方法是什么?
如有疑问,请随时询问,基本上就是尽量减少应用程序堆栈,尽可能少使用内存,但尽可能将系统保留在内存中。猜测静态网页不会通过 https,大小为 20k,没有图像,内联 CSS/JS;这意味着它是一个文件。更低成本/资源系统可获得更多积分。
答案1
想要运行带有内存文件系统和 Tux 的 Linux 2.4 吗?这仍然是我运行过的最快系统之一。这是您能找到的最高时钟速度 CPU,您已准备就绪。
Varnish 排名第二。我们用六台机器生成请求,填满了 10GB 的管道,它一直在提供服务,没有一点迹象表明源机器有任何问题。
Nginx 可以提供来自 memcached 的内容,并可以在内部缓存。
答案2
一个自定义的 C 应用程序,它实现了 HTTP 的最小子集并输出先前存储在变量中的页面。
答案3
tHTTPd 是最轻量的 HTTPd我知道,它仍然支持相当多的基本功能。它是开源的,比 Apache 快一个数量级,编译后为 50k。在小页面请求方面,Zeus 胜过它,但没有这些功能,也不是免费的/开源的(不过你确实得到了支持)。
答案4
我在这个领域见过的最快的方法就是使用一个或多个宙斯ZXTM 设备作为‘适当’ Web 服务器前端的缓存。
整个 BBC 都通过这 4 个设备提供静态内容 - 它们是 64 位的,因此可以缓存大量内容,并且可以使多个 10Gbps NIC 饱和 - 我当然从未见过任何东西能做到这一点,甚至连思科的 CDN 盒也没有。尽管如此,它们确实很贵,但我们使用它们,它们让我大吃一惊。
我确信有一个免费的等效产品,但我不知道。