我已经输入了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) 我正在运行具有 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也没有帮助。
就像标题所说的那样。一位同事提到,可以将路由器/网关配置为缓存通过它的所有内容(邮件、附件...)
假设一封带有附件的邮件从一家公司发送到另一大洲的另一家公司;有人可以在 ISP 执行内务处理查看邮件和链接的附件吗?
同样可以通过网络服务器或脚本发送 HTTP 标头。我在 Nginx 上使用 PHP。通过 nginx 或 PHP 发送 HTTP 标头(例如 Cache-Control)有什么不同吗?
通过网络服务器发送标头是否更快?它对早期处理 HTTP 请求有影响吗?
我在 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) 我正在使用 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 的共享缓存?
每个星期五大约 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) 我已经配置了一个有很多父服务器的鱿鱼代理服务器。我已经使用循环分配负载,但我不喜欢它。大多数情况下,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) 我目前的web项目有以下特点:
但是,我低估了在少量目录中保存大量文件对性能的影响。目前,网站的 URL 直接映射到文件系统上预先生成的目录结构。例如,地址domain.com/categoryA/...映射到webroot/pages/categoryA/...包含大量 HTML 页面的目录,并且随着添加到该目录中的每个附加文件,文件的读取变得越来越慢。
我怎么能解决这个问题?是否有任何网络服务器或服务器端技术专门解决服务大量静态页面的问题?应保留对 SEO 友好的 URL 结构。除此之外,我愿意接受任何建议。
web-server cache web-applications static-content static-files
如果在 DNS 区域中添加通配符子域条目,例如:
*.example.com. 3600 IN A <Some IP>
有多少查询somerandomsubdomain.example.com被缓存?经过一些研究,我确实发现example.com将在不同点缓存,因此我的 DNS 服务器可以直接查询example.comDNS 服务器以获取后续anotherrandom.example.com.
但是服务器/路由器/操作系统在缓存时是否也会缓存*.example.com通配符条目,因此所有未来对其他随机子域的查询example.com都会立即解析?
cache ×10
nginx ×2
apache-2.2 ×1
debian ×1
http ×1
http-headers ×1
intel ×1
linux ×1
memory ×1
memory-usage ×1
mysql ×1
php ×1
proxy ×1
router ×1
squid ×1
static-files ×1
ubuntu ×1
web-server ×1