以下是我们目前在应用程序上的设置 但我们想添加nginx作为一个反向代理caching非常像鱿鱼或清漆是否有可能编辑这个configuration来启用caching行为,或者我需要添加另一个nginx在这个设置之前就像我会为鱿鱼或漆 如果这样做可以不使用鱿鱼和清漆,那么在nginx中进行完整的设置会很好 非常感谢 upstream backend_appname{ #start1.someserver.com server start1.someserver.com:7810 fail_timeout=3s; server start1.someserver.com:7811 fail_timeout=3s; server start1.someserver.com:7812 fail_timeout=3s; server start1.someserver.com:7813 fail_timeout=3s; } server { server_name appname.someserver.com; listen 80; access_log logs/access_appname.log; #error_log logs/error_appname.log; location /nginx_status { stub_status on; access_log off; } location /static { root /home/someuser/work/appname; expires max; add_header Cache-Control public,max-age=604800,post-check=604800,pre-check=1209600; } location / { root /home/someuser/work/appname; fastcgi_pass […]
服务器和客户端都是64位的Ubuntu 10.04 LTS。 有问题的应用程序是使用mmap()进行快速随机文件访问的自定义应用程序。 它的理想状态是当整个文件被caching在RAM中。 networking连接是非常快的10Gb以太网。 这是一个虚拟服务器刀片设置。 这不是networking连接速度下降的原因,因为当使用虚拟磁盘(iSCSI到SAN)时,所有东西都performance出色。 但是当我们在NFS主目录挂载上运行这个应用程序时,性能会落到狗身上。 看来Linux内核没有caching任何东西 。 所以它正在读取mmap()访问所需的每一个磁盘块。 NFS挂载是通过autofs完成的,只有默认设置。 /proc/mounts显示了使用以下选项完成NFS安装: RW,relatime,VERS = 3,RSIZE = 131072,WSIZE = 131072,namlen = 255,硬,原= TCP,Timeo酒店= 600,重传= 2,仲= SYS,mountaddr = 192.168.11.52,mountvers = 3,mountproto = TCP,ADDR = 192.168.11.52 如何让Ubuntu 10.04caching文件,而不是一直重新加载?
我正在运行一个大的WordPress多用户网站。 我在WordPress应用程序服务器前有一个清漆caching。 由于cachingPOST请求是没有意义的,所以我很容易被DDoS使用大量的POST对varnishcaching服务器。 我试着设置一个只接受来自每个客户端的20个同时连接的防火墙规则,但是这对那些坐在共享代理之后的用户以及同一个网关后面的许多用户的学校有影响。 Varnish没有速率限制POST数量的选项,我想在达到应用程序服务器之前执行速率限制。 有一个小的透明代理可以完成这项工作吗? 目前Varnish正在接受约100-150点/秒,代理至less应该能够处理这个负载。
这个链接解释了如何使用Nginx从dynamic内容创build静态文件 。 我的问题是: 如果涉及login会话,我可以达到相同的效果吗 ? 即。 当我想只为注册用户服务的内容,而不是其他。 那么如何在caching中克服会话,并最终下一次使用caching来进行另一个会话呢? 详细情况: 我的网站的目标是只为注册用户提供内容。 有很多用户login,每个用户都有不同的会话ID。 一个php页面查询数据库,并find用户“A”想要的“XYZ”并生成HTML输出。 现在如果用户“B” (使用不同的会话ID)需要同一个“XYZ”,那么如何让Nginx从caching中提交而不需要使php页面再次查询数据库。 有没有人做过这个? 澄清可能的问题模糊: nginx将dynamic内容caching到静态我的问题是当涉及到会话时cachingdynamic内容。 上面的问题比较一般(没有提及会话)。
我打算在Heroku上build立一个Django站点。 它将在Heroku的Cedar堆栈上运行,该堆栈允许Python应用程序,但是不像其他堆栈那样包含或支持使用Varnish的HTTP上游caching。 这将是一个非常繁重的网站,我想使用清漆进行HTTPcaching。 我想应该可以设置我自己的Varnish实例,将该网站的Alogging指向该实例,然后从Heroku应用中获取并caching内容。 我认为,为了最大限度地减less延迟,在Heroku所在的同一个可用区域中,在EC2上托pipe该实例将是一个不错的主意。 你认为总体思路是否可行? 你有任何经验,如何selectEC2实例的正确的地理位置,以便其对Heroku应用程序的请求将尽可能快? 谢谢! 编辑:同样的问题是设置一个自定义的PostgreSQL实例。
我们正在使用CloudFront作为我们的静态资产,但也希望允许使用Gzip。 我们build立了一个新的发行版,其中自定义来源指向我们在弹性负载均衡器后面的应用程序服务器。 我们手动保持群集中的文件同步,并在发布时进行更新。 但是,随着这个build立,我们除了CloudFront的小姐和RefreshHits以外,什么都没有,这一直到目前为止已经失败了。 是否有任何额外的设置,以便使用ELB作为您的自定义原点? 在文档中,它将其作为可行的解决scheme。 当我们将分发指向我们的生产集群中的单个服务器时,cloudfront会正确地caching我们的资产。 粘滞会话cookie和随后添加的头可能是一个问题吗? Cache-Control: no-cache="set-cookie" //由负载平衡器添加 有任何想法吗? 仅供参考 – 目前,我们有我们的自定义来源指向单个EC2实例,所以caching工作正常 – 万一你试图curl下面的文件。 示例标题:curl -I http://static.quick-cdn.com/css/9850999.css HTTP/1.0 200 OK Accept-Ranges: bytes Cache-Control: max-age=3700 Cache-Control: no-cache="set-cookie" Content-Length: 23038 Content-Type: text/css Date: Thu, 12 Apr 2012 23:03:52 GMT Last-Modified: Thu, 12 Apr 2012 23:00:14 GMT Server: Apache/2.2.17 (Ubuntu) Vary: Accept-Encoding X-Cache: RefreshHit from […]
我很清楚I / O等待已经在这个网站上被多次讨论过了,但是其他所有的话题似乎都包含了不断的 I / O延迟,而我们需要在服务器上解决的I / O问题是不规则的)的间隔,但是一直存在高达20kms的等待和2秒的服务时间的大量尖峰。 受影响的磁盘是/ dev / sdb(Seagate Barracuda,详情见下文)。 一个典型的iostat -x输出有时看起来像这样,这是一个极端的例子,但并不罕见: iostat (Oct 6, 2013) tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16.00 0.00 156.00 9.75 21.89 288.12 36.00 57.60 5.50 0.00 44.00 8.00 […]
我已经build立了一个清漆caching镜像坐在文件服务器前,但似乎是无休止地从我的文件服务器重新下载数据。 总共有大约100GB的数据,但是到目前为止,Varnish已经从我的文件服务器上下载了800GB的数据。 我使用Varnish附带的默认VCL文件,文件服务器提供的文件的响应头类似于以下内容: HTTP/1.1 200 OK Cache-Control: max-age=290304000, public Content-Type: image/jpeg Expires: Wed, 29 Dec 2010 21:38:33 GMT Server: Microsoft-IIS/7.0 E-Tag: "8b4723296ab697530768f18b1378b269" Content-Disposition: inline; filename=image046.jpg; X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Thu, 23 Dec 2010 05:38:33 GMT Content-Length: 100592 我开始清漆使用以下选项: varnish/sbin/varnishd -a 0.0.0.0:80 -f varnish/etc/varnish/default.vcl -s file,varnish/var/lib/varnish/varnish_storage.bin,100G
我的Subversion服务器只能通过HTTPS访问; 对svn + ssh的支持已经被删除了,因为我们希望避免在SVN上创build系统用户。 现在我试图为用户提供一种caching密码一段时间的方式,而不会以未encryption的forms将其保存在文件系统中。 这对Gnome或KDE用户来说不成问题,因为他们可以分别使用gnome-keyring和kwallet。 IIRC,TortoiseSVN也有类似的caching机制。 但是在非GUI系统上的用户呢? 一些上下文:在这种情况下,我们有一个开发/testing服务器,其中一个项目已签出到Apache htdocs目录中。 这个项目的开发几乎已经完成,只有很小的文本/布局变化直接在这个服务器上执行。 不过,应该将这些更改检入到存储库中。 在这个系统上没有kwallet,也没有gnome-keyring,而ssh-agent也不能帮忙,因为这个版本库是通过https而不是svn + ssh访问的。 据我所知,每次与SVN服务器通话时,都会input密码,或以不安全的方式存储密码。 有没有什么办法可以得到像gnome-keyring和kwallet在非GUI环境中提供的东西?
我试图弄清楚如何设置一个最简单的事情,可以在我们的办公室举办活动,并有很多人来,可能每个人下载相同的文件。 我们只是买了一个小型的linux服务器,我们认为应该允许为两个网段和一定数量的caching做DHCP。 我正在考虑使用http://trafficserver.apache.org/从这个论坛的一个很好的回答 – 我认为这可能适合我的简单要求 – 但我有点混淆在什么configuration我应该把它。 该文件谈到不公开代理(我不希望这一点),然后还介绍了不同的操作模式 – 我应该select哪一个,我希望大量的文件重复下载,虽然这个NAT服务器caching与正确的e -tag / cache-policy处理?