标签: cache

告诉linux内核将文件放入磁盘缓存?

是否有任何命令可以读取文件并将其加载到linux磁盘缓存中?这是在最新的 debian 系统上。

我知道在一般情况下,最好让 linux 内核解决这个问题。但我有一个边缘情况。我有一台安装了 NFS 控制器的笔记本电脑,我想播放一个长视频文件,但我不想因为网络问题而中断播放。我知道稍后会完整读取(较大的)文件。我知道在播放这个视频时没有其他(真的)会运行。有足够的可用内存来存储此文件。

(我知道我可以将文件复制到新的 tmpfs 文件系统中,但我很好奇是否有更短的方法来做到这一点)

linux cache kernel

4
推荐指数
2
解决办法
2569
查看次数

Linux 缓存内存:超过 85% 的缓存内存并使用交换

我在linuxatemyram 上阅读了有关 Linux 和缓存内存的信息,但有一些对我来说没有意义的东西,如果服务器的负载甚至很低,而不是释放一些缓存内存,它开始使用交换,这会使服务器变慢..

即使是现在,当服务器负载达到load average: 0.00, 0.00, 0.00一定程度时,一些内存会被交换,而超过 85% 的内存被用于交换。

我读过类似的问题,例如thisthis,但有人提到不应该发生交换。同样,直到 3 周前,只有一小部分内存被缓存占用,我们没有更改任何可能影响缓存内存的内容。

你能告诉我这个值是否仍然可以,还是我有问题?

谢谢!

[root@web01 ~]# cat  /proc/meminfo
MemTotal:      5183448 kB
MemFree:        249260 kB
Buffers:        330848 kB
Cached:        4317828 kB
SwapCached:         92 kB
Active:        2883596 kB
Inactive:      1882468 kB
HighTotal:     4315324 kB
HighFree:        63516 kB
LowTotal:       868124 kB
LowFree:        185744 kB
SwapTotal:     5799928 kB
SwapFree:      5799796 kB
Dirty:             368 kB
Writeback:           0 kB
AnonPages:      117356 kB
Mapped:          21076 kB
Slab: …
Run Code Online (Sandbox Code Playgroud)

linux memory cache swap

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

NGINX 代理缓存 - 在查询字符串中缓存 buster 变量 - 可以忽略吗?

我们有以下 url 我们想要代理缓存:

file.php?parameter=one&paramater2=two&r=EPOCHTIMESTAMP
Run Code Online (Sandbox Code Playgroud)

查询字符串参数“参数”因请求而异。“paramater2”也是如此。

查询字符串参数 r 是我们用来确保客户端不提供缓存(在客户端)内容的时间戳。又名“缓存破坏者”。是的,我们还使用了所有适当的不缓存 h 标头。

现在,我们想通过 nginx 代理缓存其中的一些请求。是否可以指示 nginx 忽略 r 查询字符串参数,但在为条目设置缓存键时使用所有其他参数?如果我们不能忽略参数 r,那么 nginx 代理缓存将毫无用处,因为每个缓存键都是唯一的。

谢谢。

nginx cache reverse-proxy querystring

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

静态镜像流量大的站点,CloudFlare 作为 DNS

我运行着一个流量相当大的网站,由于一些不幸的事件,我在 Linode 的云中的机器宕机了。而且我只有一台暴露于外界的负载均衡器机器(一个 IP)。

此外,我的网站是可以镜像的6,000 多个静态页面的候选。现在我的 DNS 是CloudFlare

我可以做些什么来维护我网站的静态镜像并路由到它,以防我的网站出现故障。
因为我是从 Linode 运行的,所以我没有像Route53这样的东西来检测一个 IP 地址的停机时间并指向另一个 IP 地址。

人们使用静态镜像站点和防止停机的策略是什么?

domain-name-system cache mirroring static-content cloudflare

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

如何配置 Varnish 不缓存特定文件夹?

我想将 Varnish 设置为 Apache 的反向代理缓存。

如何设置 Varnish 使其不缓存来自特定文件夹(及其子文件夹)的内容,例如 /public_html/shop/

http cache varnish apache-2.2

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

是否启用 MySQL query_cache_size Innodb Lock Safe?

query_cache_size一个通常会希望能像那种环境看起来这使我迷惑不解,因为它默认为0。然后我从 MySQL 文档中阅读了有关query_cache_wlock_invalidate设置的以下内容

通常,当一个客户端在 MyISAM 表上获取 WRITE 锁时,如果查询缓存中存在查询结果,则不会阻止其他客户端发出从表中读取的语句。将此变量设置为 1 会导致获取表的 WRITE 锁,从而使查询缓存中引用该表的任何查询无效。这会强制尝试访问该表的其他客户端在锁定生效时等待。

它没有提及 InnoDB 引擎。当 Innodb 对行/表有写锁时,此设置是否也阻止从缓存读取?

mysql innodb cache

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

这是一个陈旧的ISP DNS缓存的情况还是我捏造了一些东西?

我目前正在将旧网站(从旧托管服务提供商)转移到现代解决方案。由于我的上下文特定要求(包括财务限制),我决定在具有静态 IP 地址的 Digitalocean droplet(虚拟化 linux 实例)上备份和复制网站104.131.187.206。我已经适当地配置了所有内容,清理了复制与其系统紧密耦合的 Web 应用程序等产生的各种松散端,并且复制的网站运行良好。

现在,我的目标是将现有域名指向DO droplet 上的mcbc.on.ca重复网站。传统(共享)托管服务提供商的 IP 地址是216.251.32.98. 显然mcbc.on.ca一直指向这个地址。我想要的是mcbc.on.ca指向104.131.187.206. 此外,我仍在使用传统托管服务提供商的 DNS 和名称服务器。

我的任务应该很简单 - 只需修改mcbc.on.caZone 文件中现有的 A 条目,使其现在指向104.131.187.206. 现在,我还想保留对原始网站的现有引用,因此我original.mcbc.on.ca为该点添加了一个新的 A 条目216.251.32.98

我昨天成功完成了所有这些,并且我的 DNS 更改已经成功传播(使用此工具验证)。仅供参考,我进行更改已经大约 12 个小时了。

我的问题:由于某种奇怪的原因,每当我访问 网站时mcbc.on.ca,它有时会解析为 OLD 地址216.251.32.98,而有时会正确解析为104.131.187.206。我会说旧地址的频率约为 40%,新地址的频率约为 60%。这显然是一个问题。

考虑到我已经等了很长时间(虽然我知道 12 小时肯定少于 48 小时),以及我上面提到的工具显示 DNS 记录已经传播到所有世界上, …

domain-name-system cache domain-name

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

NGINX 缓存错误:与 /etc/nginx/nginx.conf 中已声明的大小 0 冲突

我当前用于 drupal 配置的 nginx 出现以下错误。不知何故,我无法启用 nginx 缓存。尝试了不同的配置,但加班我得到了同样的错误。有人可以帮忙吗?

nginx: [emerg] the size 5242880 of shared memory zone "MYAPP" conflicts with already declared size 0 in /etc/nginx/nginx.conf:51
nginx: configuration file /etc/nginx/nginx.conf test failed
Run Code Online (Sandbox Code Playgroud)

我的 nginx.conf

user    nginx;
worker_processes    auto;
http {  include /etc/nginx/conf.d/*.conf;
include /etc/nginx/mime.types;
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=MYAPP:5M max_size=256M inactive=2h;
fastcgi_cache_key “$scheme$request_method$host$request_uri”;
add_header X-Cache $upstream_cache_status;

## Set a cache_uid variable for authenticated users.
map $http_cookie $cache_uid {
    default nil; # hommage to Lisp :)
    ~SESS[[:alnum:]]+=(?<session_id>[[:alnum:]]+) $session_id;
}
map $request_method $no_cache { …
Run Code Online (Sandbox Code Playgroud)

nginx cache drupal

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

两个独立的 PHP-FPM 站点似乎使用相同的代码?

我有两个带有两个代码库的网站,但是当我更改一个代码库时,我会看到两者都发生了变化。

我有两个同一个网站的结帐。它们被设置为通过带有 FastCGI 的 Apache2 使用 PHP-FPM。结帐在:

/var/www/site1
/var/www/site2
Run Code Online (Sandbox Code Playgroud)

Apache 配置如下所示:

<VirtualHost *:80>
    ServerName site1.myserver.com
    DocumentRoot /var/www/site1
    <IfModule mod_fastcgi.c>
        AddHandler php5-fcgi-handler .php
        Action php5-fcgi-handler /php5-fcgi-uri
        Alias /php5-fcgi-uri fcgi-application
        FastCgiExternalServer fcgi-application -socket /var/run/site1-fpm.sock -pass-header Authorization -idle-timeout 30000 -flush
    </IfModule>
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.myserver.com
    DocumentRoot /var/www/site2
    <IfModule mod_fastcgi.c>
        AddHandler php5-fcgi-handler .php
        Action php5-fcgi-handler /php5-fcgi-uri
        Alias /php5-fcgi-uri fcgi-application
        FastCgiExternalServer fcgi-application -socket /var/run/site2-fpm.sock -pass-header Authorization -idle-timeout 30000 -flush
    </IfModule>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

FPM 池配置如下所示:

[site1]
user = site1-user
group = site1-group
listen = /var/run/site1-fpm.sock
listen.owner …
Run Code Online (Sandbox Code Playgroud)

cache fastcgi php-fpm opcode apache-2.4

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

写回模式下的 LVM 缓存相当于外部 ext4 日志?

我在 LVM 上运行 ext4 文件系统。我正在考虑的两个主要加速选项是 LVM 缓存和外部 ext4 日志。

听起来如果我为此使用单个 SSD,回写模式下的 LVM 缓存与在外部设备上拥有 ext4 日志是一样的......

这是正确的解释吗?

optimization ext4 lvm cache

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