我们目前通过一台Apache服务器提供大容量(1GB +)的文件,但是我们的Apache服务器非常受磁盘IO限制,我们需要扩展。 我的第一个想法是简单地复制这个Apache服务器,但是我们的文件库太大了,不能简单地横向扩展Apache服务器N次。 所以我的下一个想法是在后端有两个Apaches(高可用性),每个都有一个单独的我们整个库的副本。然后在前面的“N”反向代理,其中“N”随着我们的交付需求增长而增长。 每个反向代理的内存很大,每个GB的主轴数量尽可能多。 后端的Apache服务器更“档案化”,主轴到GB低。 这是一个很好的build筑吗? 有更好的方法来处理它吗?
在nginx中我使用的是 proxy_cache_use_stale updating 指令( http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_use_stale ),以便对失效的caching内容的并发请求仅向上游发送1个请求(非首先请求用陈旧内容响应第一个请求是更新内容)。 这工作得很好。 现在有没有办法让第一个请求立即响应陈旧的内容,同时触发更新? 现在,对于非首先失效的请求,响应时间非常好,但是第一个需要等到后端响应。 我更喜欢在caching更新之前提供陈旧的内容。
这可能是一个Windows DNS特定的问题或一般的DNS最佳实践问题 – 我不知道! 我们将第三方DNS提供从提供者A迁移到提供者B. 我注意到我们的内部recursion窗口DNS服务器仍然有NSloggingcaching我们的域指向提供者A的服务器,即使我更改了与我们的注册商几天前的名称服务器,即使selectcachinglogging的属性显示的TTL 1天。 在此caching中的NSlogging超过24小时后,DNS服务器是否将返回到TLD服务器以获取有关该权限的更新,或者是否将优先转移到dns1.providera.com,因为这是它所caching的内容? 在这种情况下,我安排将Provider A的服务器保留一周,以允许更改传播,因此dns1.providera.com仍然是活动的,并且仍然会提供表示dns1.providera.com的NS和SOAlogging。 负责这个领域。 鉴于这个事实,Windows DNS服务器是否会回到顶级域名(TLD)并拿起权限更改,还是假设一切正常,并在caching的NSlogging上更新时间戳呢? 我想知道什么是最好的方法来确保cachingselect这个。 我是不是该:- (1)让Provider A的服务器保持正常运行,并等待caching赶上…基本上我们现在正在做的似乎有问题的东西 – 可能专门用于Windows服务器,或者更广泛的。 (2)将Provider A的服务器留在原地,但更改它们提供的NS和/或SOA信息,以告知caching新服务器负责。 (3)在2 * TTL之后移除提供者A的服务器以强制剩余的caching更新。 (2)的问题是,在提供者A的系统上,我似乎无法将NS或SOA信息更改为除服务器以外的任何其他信息。 (3)的问题是,我不确定在这种情况下DNS服务器将如何performance。 当它无法到达caching的名称服务器时,是否会刷新其caching并尝试完整的recursion查找,还是只会返回一个错误,迫使用户手动清除caching? 提前致谢!
我们有两个具有独立本地caching的Nginx服务器用于caching图像。 周期性地存在caching大小的非托pipe增长问题。 这个大小可能比nginx.conf max_size大得多。 结果caching占用所有可用磁盘空间。 我想了解这个问题的原因可能是什么。 代理cachingconfiguration( nginx.conf ): proxy_cache_path /opt2/nginx-cache-images1 max_size=150g levels=2:2 keys_zone=images1:1024m inactive=24h; proxy_temp_path /opt2/proxy_temp 1 2; /opt2/nginx-cache-images1大小约为200GB。 configuration网站位置: location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Is-Referer-Search-Engine $is_referer_search_engine; proxy_hide_header Set-Cookie; proxy_hide_header Content-Disposition; proxy_pass http://ua-image-proxy; default_type image/jpeg; proxy_cache images1; proxy_cache_key ua$request_uri$is_referer_search_engine; proxy_cache_valid 200 24h; proxy_cache_valid 301 24h; proxy_cache_valid […]
服务器有4GB内存,我的zpool是由15.5k SAS驱动器组成的,如下所示: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t3d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 c0t5d0 ONLINE 0 0 0 c0t6d0 ONLINE 0 0 0 c0t7d0 ONLINE 0 0 0 c0t8d0 ONLINE 0 0 0 raidz1-1 ONLINE 0 […]
我试图优化我的MySQLconfiguration一个verrry小VPS。 VPS还运行NGINX / PHP-FPM和Magento; 所有的内存都有250MB的限制。 这是MySQL调谐器的输出… ——– General Statistics ————————————————– [–] Skipped version check for MySQLTuner script [OK] Currently running supported MySQL version 5.1.41-3ubuntu12.8 [OK] Operating on 64-bit architecture ——– Storage Engine Statistics ——————————————- [–] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster [–] Data in MyISAM tables: 1M (Tables: 14) [–] Data in InnoDB tables: […]
我们一直在运行nginx – > uWSGI,现在我们正在评估将Varnish作为nginx和uWSGI之间的caching层(类似于http://www.heroku.com/how/architecture )。 但是,nginx只支持HTTP 1.0,所以它将不得不为每个请求创build与Varnish的新连接。 许多人build议在Varnish前面运行nginx,但是使用Cherokee之类的东西不是更有意义,因为它支持后面的HTTP 1.1,所以消除了HTTP连接的开销?
有没有办法将一个特定的文件夹映射到内存? 说我有C:\ somePath,我希望该文件夹在任何时候都在内存中,也许更改被asynchronous转储到硬盘上,恕不另行通知。 所以这更像是硬盘内存强制caching内存…对于Windows 7或任何Windows操作系统?
我正在使用nginx作为应用程序服务器前面的反向代理。 应用程序响应一个X-Accel-Redirect头文件,告诉nginx要提供哪个静态文件。 我希望能够做的是让nginxcaching一些上游回应,所以它可以提供正确的文件,而无需点击应用服务器。 不幸的是,这不起作用:nginx似乎拒绝用X-Accel-Redirect头caching任何响应。 如果我不使用X-Accel-Redirect并让应用程序服务器返回文件本身,那么caching完美无缺。 然而,这并不是非常有效,因为应用程序服务器必须从磁盘读取文件并将其发送给nginx,nginx然后将文件写回磁盘(在其caching中)并将其发送到客户端。 这里是我的nginxconfiguration的精简版本: proxy_cache_path /tmp/nginx-cache keys_zone=testzone:10m; server { location / { proxy_cache testzone; proxy_pass http://localhost:8000/; } location /static-files/ { internal; alias /var/static-files/; } } 有谁知道我试图做什么是可能的? 我的怀疑是,当nginx发现X-Accel-Redirect头部时,它立即跳转到处理提供的URI并跳过正常的caching逻辑,但是确认这个会很好。
squid.conf中: http_access allow all # Squid normally listens to port 3128 http_port 3128 accel defaultsite=localhost no-vhost cache_peer localhost parent 80 0 no-query originserver name=myAccel cache_peer_access myAccel allow all # Uncomment and adjust the following to add a disk cache directory. cache_dir ufs /usr/local/var/cache/squid 100 16 256 # Leave coredumps in the first cache dir coredump_dir […]