jQuery对服务器的压力有多大



我还没有使用过jQuery,但人们不禁会注意到其中涉及的大量问题。在阅读基础知识时,有些人提到"如果你打算在自己的web服务器上托管jQuery脚本,客户端计算机可能也会有压力"。

我不太关心客户端,但想知道我们会看到什么样的压力。我读到jQuery库"可以通过链接到本地副本或公共服务器上的许多副本之一来包含在网页中"。我想知道为什么微软(或任何人)会希望数百万人使用他们的服务器来下载jQuery库?客户端是在每次会话中同时下载文件,还是仅在事件/效果/功能启动时下载并本地访问所需的部分?客户端多久清除一次库?如果我的网站上有10万访问者和1万点击量,那么库文件会被DL'd多少次?每节课一次?很抱歉提出这个n00b问题,但我读到了一些相互矛盾的东西,不知道是否有人能帮我填写。

jQuery框架与任何其他客户端脚本或样式表一样,在下载后存储(缓存)在客户端上。

最新版本的jQuery在生产中缩小时约为31kb,因此这与应用程序中的任何其他图像或轻量级html页面都是一致的,只是它将缓存在客户端上,不会下载两次。

允许jQuery库由像谷歌这样的CDN托管也是一种选择。这里有一篇很棒的博客文章。

大多数静态内容,如Javascript文件中的jQuery库,都不是一种压力。你提到10万游客,是每天吗?每月?真的改变了人们的期望。

无论如何,你不必在服务器上托管jQuery文件,你可以使用谷歌的内容交付网络(CDN)或微软的CDN(如https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js)以便消除服务器上与文件下载有关的任何问题。

您可以做很多事情来缓解这些问题。

  1. 您需要确保浏览器缓存了您使用的javascript库。浏览器通常会这样做,并且您可以使用html5缓存清单来强制执行它。这样,每个客户端只加载一次代码。

  2. 最小化src。

  3. 配置您的web服务器以将常见的静态资源(如src代码和图像)保存在内存中,并对其进行gzip传输以减少下载量。

此外,还有一种叫做容量规划的东西。如果你的应用程序要获得10万访问者,你需要有硬件来支持。

每个用户将下载一次该文件。一旦它第一次下载,用户的浏览器就会缓存它,再也不会下载了。将其与您的HTML页面进行比较,每次用户单击链接时都会重新加载HTML页面。

JQuery的大小为33kb,与大型HTML文档差不多,比大多数图像小很多倍。由于它只是一个静态文件,因此基本上不引入服务器负载。根据这篇文章,常见的服务器软件每秒可以处理数以万计的静态请求,这是大多数网站都必须处理的。

这就是为什么谷歌和微软可以为每个人托管jQuery的原因——它太小了,不会太麻烦他们的服务器。

总之;不用担心,jQuery永远不会给你的服务器带来问题。

最新更新