disk-cache

nginx proxy_cache 或 Memcached
disk-cache

nginx proxy_cache 或 Memcached

我目前在三个 Django 应用程序 (Apache/mod_wsgi) 前面使用 nginx 的 proxy_cache 进行基于文件的缓存。对于某些位置/URL,我禁用了 proxy_cache,并在 Django 应用程序中改用 Memcached(每个视图)。现在我想知道将 nginx 指向 Memcached 是否更有效。 我读这里例如,nginx 可以从 Memcached 提供页面 - 但是当配置每个视图缓存时,Django 是否会将完整的页面写入 Memcached(并且它是否根据 @cache_page 参数设置了到期日期)? ...

Admin

Linux 中的写入缓存
disk-cache

Linux 中的写入缓存

我已经阅读了大量有关 serverfault 的文章并在 google 上搜索了有关写入缓存的信息,但仍然找不到答案。 我有一台 HP ProLiant DL380 G5,配有 HW raid 和 512 MB 电池备份缓存。我使用 Debian Linux。 有 3 个写入缓存:1. 操作系统写入缓存 2. 带有 512 MB 电池备份缓存的硬件 raid 3. HDD 缓存 我的问题是:如何正确配置它们,以便在断电时不会丢失数据? 我认为禁用操作系统写入缓存和 HDD 缓存可以解决问题,并且由于 HW raid 缓存,它仍将表现良好。我是对的吗?...

Admin

带有屏障的 SATA 驱动器上写入缓存的安全性
disk-cache

带有屏障的 SATA 驱动器上写入缓存的安全性

我最近一直在阅读有关 SATA 驱动器的写入缓存、NCQ、固件错误、障碍等内容,我不确定在电源故障的情况下什么最佳设置可以保证我的数据安全。 据我所知,NCQ 允许驱动器重新排序写入以优化性能,同时让内核了解哪些请求已被物理写入。 写入缓存使驱动器响应请求的速度更快,因为它不需要等待数据写入物理磁盘。 我不确定 NCQ 和写入缓存在这里如何混合...... 文件系统(尤其是日志式文件系统)需要确定特定请求何时被记录下来。此外,用户空间进程使用 fsync() 强制刷新特定文件。直到文件系统确定数据已写入磁盘后,对 fsync() 的调用才应返回。 ...

Admin

磁盘缓存(写回)自动禁用
disk-cache

磁盘缓存(写回)自动禁用

几天前我发现(使用 Munin)我的服务器的 iowait 时间很长。原因是写缓存被禁用了。我使用 hdparm -W1 /dev/sda 启用了它,但过了一段时间(ramdonly)它又被禁用了。 系统日志中没有关于此事件的信息。我将内核更新为 2.6.18-308.20.1.el5 #1 SMP,似乎情况有所改善,但问题仍然存在。 我关闭了所有服务但问题仍然存在。 您知道我可以在哪里获得一些信息或日志来了解为什么写入缓存关闭吗? 一些硬件信息: 硬盘:Western Digital WDC WD5000AAKX-00ERMA0 主板:Intel...

Admin

在 Linux 上使用 cachefilesd(非共享模式)缓存​​写入
disk-cache

在 Linux 上使用 cachefilesd(非共享模式)缓存​​写入

我使用 cachefilesd 作为 NFS 共享的读取缓存。设置起来很简单,而且可以按照说明操作。 但是,我还想缓存已写入的文件。即,如果我写入some.file,然后读取some.file,我希望从缓存中读取,而不是从远程共享中读取。 我在网上看到过一些指定选项的文档non-shared,比如这里的IBM AIX。此选项正是我想要的,但它适用于 CacheFS,而不是 cachefilesd。 问题: cachefilesd 有类似的功能吗?如果有,我该如何启用它? 附加问题:我所看到的文档都提到了 FS-Cache 的两个可用后端:cachefiles...

Admin

启用磁盘写入缓存时数据损坏
disk-cache

启用磁盘写入缓存时数据损坏

我最近了解到,启用磁盘写入缓存可以显著提高系统性能。但是,我担心如果突然断电,数据可能会损坏或丢失。 以下是有关我的设置的一些背景信息: 操作系统:Windows Server 2012 R2 磁盘类型:SATA 3.0 HDD 目的:我正在考虑在磁盘上启用写入缓存以提高性能。我的理解是,如果发生电源故障,而写入缓存中的数据仍未提交到磁盘,操作系统崩溃,或者访问数据的应用程序崩溃,则可能会发生数据损坏。 在我研究的过程中,我发现了以下细节文章,他们提到“当活动磁盘写入缓存启用且磁盘执行预读 (RLA) 时,数据损坏会在用户不知情的情况下发生,而该操作会过早结...

Admin

如何让两个 squid 服务器共享同一个磁盘缓存?
disk-cache

如何让两个 squid 服务器共享同一个磁盘缓存?

我正在尝试在 kubernetes 环境中将 squid 代理设置为具有 3 个副本的缓存服务器。我想知道所有三个副本是否可以共享相同的磁盘存储,或者我必须为每个副本分配单独的存储。目前,它们三个都在配置中具有以下内容: cache_dir ufs /var/spool/squid 100 16 256 所有三个副本都挂载了相同的卷,因此 /var/spool/squid/ 在三个副本之间共享。这在缓存对象仅占用一次空间但对每个副本的第一次请求始终未命中的意义上是有效的。我不确定这样配置是否有任何缺点,或者我是否应该将它们配置为使用单独的存储(Statef...

Admin

Google Cloud Function 警告“OpenBLAS 警告 - 无法确定此系统上的 L2 缓存大小”
disk-cache

Google Cloud Function 警告“OpenBLAS 警告 - 无法确定此系统上的 L2 缓存大小”

我收到警告 OpenBLAS 警告 - 无法确定此系统上的 L2 缓存大小,假设为 256k 在云函数的“LOGS”选项卡的日志中。 Stack Overflow 上已经有一个关于此问题的问答,网址为AppEngine 警告 - OpenBLAS 警告 - 无法确定此系统上的 L2 缓存大小,但它不要求使用 Google Cloud Function,而只要求使用 Google App Engine。 我想知道如何才能摆脱 Google Cloud Function 中的这个警告,以及我是否应该关心? 无论如何,这只是一个警告,而且相当繁重的云函数(需...

Admin

设想
disk-cache

设想

设想 我使用的是带有 ext4 文件系统的常规 Ubuntu 18.04 LTS。 我在用着雷斯蒂奇备份我的机器。 Restic 是一个备份工具,支持不同的后端(本地、sftp、aws、gcs 等),但一次只能支持一个备份目标。所以我不能告诉restic “将这些文件夹同时备份到目标 1、目标 2 和目标 3,同时只读取主机上的每个文件一次”。 我知道有一些工具可以在第二步将 dest1 同步到 dest2 等等,但我不想在这里讨论这个问题。 问题 让 restic 运行一次然后再运行一次,从而连续两次检查相关文件夹中的所有文件,这样做聪明吗? ...

Admin

客户虚拟机中的 Linux /proc/sys/vm/drop_caches
disk-cache

客户虚拟机中的 Linux /proc/sys/vm/drop_caches

问题: 禁用客户虚拟机内的页面缓存并转而依赖主机的 ZFS ARC(和基于 SSD 的 L2ARC)是否是一个好主意? 语境: 我之所以问这个问题,是因为我正在运行一个 Proxmox 集群,它总是显示所有虚拟机的 RAM 使用率约为 90%,无论它实际需要多少。这是由于客户机内核使用页面缓存而导致的。由于我听到了很多关于 ZFS 的 ARC 的好评,这让我想到也许我可以增加对这些的依赖,减少对客户机页面缓存的依赖。本质上,ARC 将成为所有虚拟机的共享页面缓存。 通过这样做,我将获得更准确的 proxmox 统计数据和图表的额外好处,从而让我更好地了...

Admin

如何在 Windows 2012 中禁用卷缓存?
disk-cache

如何在 Windows 2012 中禁用卷缓存?

当我尝试在 Windows Server 2012 上禁用磁盘缓存时,出现“Windows 无法更改设备的写入缓存设置”错误。 如何禁用磁盘缓存? ...

Admin

如何确保 MS Storage Spaces 上的 HDD 写入缓存已禁用
disk-cache

如何确保 MS Storage Spaces 上的 HDD 写入缓存已禁用

我在一台目前没有电源保护的服务器上有一个存储空间池。它仅由机械硬盘组成。 我想比较启用和禁用写入缓存的性能,以便我可以决定优先电源保护的程度。 通过以下方式禁用写入缓存是否足够设备管理器 -> 策略对于每个物理硬盘,还是我需要通过存储空间在其他任何地方禁用它? 例如,它在Microsoft 存储空间设备设备管理器中的条目,并且无法禁用。我不确定这是否重要。 ...

Admin

Debian 设备的 max_ratio 设置不起作用
disk-cache

Debian 设备的 max_ratio 设置不起作用

我的 Debian 8 机器有 2 个驱动器。有时我会将文件从驱动器 A 移动/复制到驱动器 B。驱动器 B 速度较慢,因此文件系统缓存已满,导致系统在复制大文件时速度变慢/无响应。为了避免这种情况,我想限制用于设备 B 的文件系统缓存。因此,我将设置 /sys/class/bdi/MAJOR:MINOR/max_ratio 从 100 更改为 20。但这似乎没有生效。我遗漏了什么?我需要做什么来重新加载这些设置吗?还有其他方法可以限制特定设备的文件系统缓存吗? 我已经尝试了挂载选项“sync”。这个选项有效,但是会使驱动器 B 变得非常慢。 ...

Admin

关于Varnish文件存储引擎的问题
disk-cache

关于Varnish文件存储引擎的问题

我在一些网站前面使用了 Varnish 缓存,其存储引擎配置如下: 存储:文件 尺寸:130GB 安装它的服务器具有以下配置: 内存:7.5 GB SSD 1:15GB(系统) SSD 2:150GB(130GB 用于 Varnish 存储) CPU:4 总结一下,它是AWS上的c4.xlarge。 目前,Varnish 正在使用 123GB 的分配存储空间(130GB)。 那么,当 Varnish 使用所有 130GB 分配的存储空间时会发生什么? Varnish 是否会删除 storage.bin 文件并创建一个新的? 它会停止工...

Admin

MySQL 速度很慢,但删除磁盘缓存后速度加快
disk-cache

MySQL 速度很慢,但删除磁盘缓存后速度加快

我的 Linux MySQL 服务器非常繁忙,并且拥有庞大的数据库。 服务器通常在平均负载2或更低的情况下工作。 该服务器具有软件 raid(mdadm),目前正在重建。 今天有几次,MySQL 变慢了,平均负载达到 200-300-500。 同时 iostat 也不大 – 最多 20-30%。 目前,交换已关闭,因为我认为它会导致问题。 重启 MySQL 没有用。如果我们重启服务器,几个小时后一切都会恢复正常。 上次,我决定停止 MySQL 并删除缓存,而不是重新启动。我这样做了: sync; echo 1 > /proc/sys/v...

Admin