标签: cache

缓存控制apache错误

我已经输入了httpd.conf

# 480 weeks
<filesmatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</filesmatch>

# 2 days
<filesmatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesmatch>

# 2 hours
<filesmatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</filesmatch>
Run Code Online (Sandbox Code Playgroud)

但是当我运行时/etc/init.d/apache restart(在 Debian 6.0 中)我得到:

Syntax error on line 3 of /etc/apache2/httpd.conf:
Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
Run Code Online (Sandbox Code Playgroud)

cache apache-2.2

1
推荐指数
1
解决办法
2380
查看次数

MySQL几乎消耗了缓存中的所有内存?

我正在运行具有 24G RAM 的服务器。这里唯一运行的是一个配置为 Master 的 MySQL 服务器。

当我通过 free -m 检查内存时,我得到了这个:

             total       used       free     shared    buffers     cached
Mem:         24158      24027        131          0        131      23050
Run Code Online (Sandbox Code Playgroud)

大约 23G 在缓存中。这对我来说似乎很多。

我还在 my.cnf 中将缓存设置为 0

query_cache_size        = 0
Run Code Online (Sandbox Code Playgroud)

如何检查缓存的内容?此外,重新启动 mysql 不会清除缓存。Aflush tables也没有帮助。

mysql memory debian cache

1
推荐指数
1
解决办法
4821
查看次数

路由器是否缓存通过它的数据包?

就像标题所说的那样。一位同事提到,可以将路由器/网关配置为缓存通过它的所有内容(邮件、附件...)

假设一封带有附件的邮件从一家公司发送到另一大洲的另一家公司;有人可以在 ISP 执行内务处理查看邮件和链接的附件吗?

router cache

1
推荐指数
1
解决办法
5922
查看次数

通过网络服务器或 PHP 发送 HTTP 标头?

同样可以通过网络服务器或脚本发送 HTTP 标头。我在 Nginx 上使用 PHP。通过 nginx 或 PHP 发送 HTTP 标头(例如 Cache-Control)有什么不同吗?

通过网络服务器发送标头是否更快?它对早期处理 HTTP 请求有影响吗?

php http nginx cache http-headers

1
推荐指数
1
解决办法
888
查看次数

我的页面没有从缓存中获取。但是 nginx 实际上正在缓存文件

我在 ubuntu 中设置了一个 nginx 服务器作为反向代理缓存服务器。我的应用程序代码位于 /var/www/myapp 文件夹中。

以下是我给出的配置

server {
        listen   80; ## listen for ipv4; this line is default and implied
        root /var/www/;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {

            proxy_pass         http://127.0.0.1:8080/;
            rewrite ^([^.]*[^/])$ $1/ permanent;
            add_header X-Cache-Status $upstream_cache_status;
        }

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }
    }
Run Code Online (Sandbox Code Playgroud)

是我的 nginx/sites-available/default 文件的内容

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
        worker_connections 1024 ;
        # multi_accept on;
}

http …
Run Code Online (Sandbox Code Playgroud)

nginx cache

1
推荐指数
1
解决办法
1万
查看次数

高速缓存如何在超线程英特尔至强处理器上工作

我正在使用 c1.xlarge 实例在 EC2 上的研究数据库上运行一些实验。据我所知,c1.xlarge 使用 8 个超线程虚拟 CPU。亚马逊还表示,该实例使用来自“英特尔至强家族”的物理处理器。

同样,该系统有 8 个 CPU、4 个工人和 4 个其他人(锁管理器、通信器、2 个音序器)。因此,我们有一个 1 对 1 的线程与 CPU 的对应关系。正在运行的实验是在检查点上。我们正在创建第 9 个线程来获取检查点并评估其对吞吐量的影响。当将第 9 个线程分配给包含 4 个工作线程或锁管理器之一的 CPU 之一时,结果是可以预测的 - 吞吐量下降。但是,当我们将第 9 个线程放置在剩余的一个 CPU 上时,我们预计不会看到任何影响,因为这些线程不是系统的瓶颈,不应影响工作线程。但是,我看到吞吐量下降,我正在寻找解释。

我开始怀疑,如果在非工作线程上产生的检查点线程以某种方式使工作线程的缓存无效,那么可能会出现问题。我不太了解缓存如何在这个特定的 EC2 实例或英特尔至强处理器上工作,因此我正在寻找有关缓存如何工作的解释,特别是它如何在超线程系统中工作。超线程处理器上的两个 CPU 是否共享缓存?线程是否跨处理器共享缓存?

我找到了一份英特尔手册,其中说英特尔至强处理器 3000 和 5000 系列使用“智能二级缓存,可以在两个内核之间共享数据以减少内存流量”。这是实例可能正在使用的,如果是,这是否意味着所有 8 个 vCPU 的共享缓存?

intel cache hyperthreading

1
推荐指数
1
解决办法
999
查看次数

我们如何找出导致服务器缓存使用率高的原因?

每个星期五大约 22:00 我们的服务器开始使用大量缓存,然后在大约两个小时后死亡。请看下面的仙人掌图。

内存使用情况

我们尝试使用https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py 搜索使用大量内存的进程,但它显示的内容如下。

...
438.0 MiB +   1.1 MiB = 439.1 MiB       XXXEngine XXX 961f4dbc-3b01-0000-0080-ff115176831d xxx
520.2 MiB +   1.7 MiB = 521.9 MiB       XXXEngine XXX f2ac330c-3a01-0000-0080-a2adb5561889 xxx
 10.4 GiB + 829.0 KiB =  10.4 GiB       java -server -Xms1G -Xmx5G -Djava.net.preferIPv4Stack=true -cp ../lib/hazelcast-3.2.2.jar:../lib/xxx.cache.jar com.hazelcast.examples.StartServer (2)
---------------------------------
                         28.1 GiB
=================================
Run Code Online (Sandbox Code Playgroud)

这与 100G 的缓存相差无几,我们认为 Linux 可能会使用那么多内存来缓存磁盘 I/O,因此我们曾经对其atop进行了测量。这是我们运行时得到的atop -r atop-20140919-230002-062979000.bin -d -D (-c)

  PID                                   TID                                   RDDSK                                  WRDSK                                  WCANCL                                   DSK                                 CMD       1/405
    1                                     -                                  907.9G                                  17.0T …
Run Code Online (Sandbox Code Playgroud)

linux cache memory-usage

1
推荐指数
1
解决办法
3万
查看次数

如何自动选择最佳父服务器?

我已经配置了一个有很多父服务器的鱿鱼代理服务器。我已经使用循环分配负载,但我不喜欢它。大多数情况下,5 台服务器中只有一两台服务器在工作。因此有时我会遇到错误。所以我想做的是以某种方式自动选择最好的父母然后连接。可以以某种方式完成吗?

我相信它可以使用ICP来完成。我看到了这个链接,他们正在以某种形式使用它。(我对ICP一无所知)


这是我所做的:

cache_peer parentip1 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip2 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip3 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip4 parent 3128 0 login=username:password round-robin no-query
cache_peer parentip5 parent 3128 0 login=username:password round-robin no-query
Run Code Online (Sandbox Code Playgroud)

ubuntu proxy cache squid

1
推荐指数
1
解决办法
131
查看次数

如何为庞大的静态和预生成网站提供服务?

我目前的web项目有以下特点:

  • 一个基本上是只读信息存档的网站。访问者无法执行任何交互操作。
  • 网站的所有页面(目前大约 15k)都是在另一台机器上创建的预先生成的 HTML 文件和图形。
  • 这种方法背后的动机:由于没有动态处理和数据库,几个网络安全方面的复杂性要低得多。除此之外,希望获得良好的性能(或者换句话说,降低运行成本),因为整个网站是一个大型的单一缓存,为静态文件提供服务。

但是,我低估了在少量目录中保存大量文件对性能的影响。目前,网站的 URL 直接映射到文件系统上预先生成的目录结构。例如,地址domain.com/categoryA/...映射到webroot/pages/categoryA/...包含大量 HTML 页面的目录,并且随着添加到该目录中的每个附加文件,文件的读取变得越来越慢。

我怎么能解决这个问题?是否有任何网络服务器或服务器端技术专门解决服务大量静态页面的问题?应保留对 SEO 友好的 URL 结构。除此之外,我愿意接受任何建议。

web-server cache web-applications static-content static-files

1
推荐指数
1
解决办法
448
查看次数

通配符子域是否会缓存 DNS?

如果在 DNS 区域中添加通配符子域条目,例如:

*.example.com. 3600 IN A <Some IP>

有多少查询somerandomsubdomain.example.com被缓存?经过一些研究,我确实发现example.com将在不同点缓存,因此我的 DNS 服务器可以直接查询example.comDNS 服务器以获取后续anotherrandom.example.com.

但是服务器/路由器/操作系统在缓存时是否也会缓存*.example.com通配符条目,因此所有未来对其他随机子域的查询example.com都会立即解析?

domain-name-system cache wildcard-subdomain

1
推荐指数
1
解决办法
199
查看次数