标签: cache

Linux SSD 作为 HDD 缓存

我在 SSD 和 HDD 上安装了一个 Linux 服务器系统,用于用户数据。由于 SSD 上有剩余空间,我想将其用作 HDD 的读取缓存。

查看可能性,我发现:

  • dm-cache:根据https://www.redhat.com/en/blog/improving-read-performance-dm-cache在缓存显示性能改进之前需要大量读取。我认为在我的用例中这不是一个好的策略。

  • lvmcache:建立在 dm-cache 之上,我需要将 SSD 和 HDD 放入一个 LV。我想保持缓存透明,这样我就可以轻松地将 HDD 放入另一个系统,而无需先执行 LVM 魔术。

  • Bcache:我需要为 Bcache 格式化硬盘。不是我想要的。

  • Flashcache:听起来像我想要的(只需打开它),但根据https://github.com/facebookarchive/flashcache不再积极维护。

  • EnhanceIO:建立在 Flashcache 上,但自 2015 年以来已失效。

有没有类似于 Flashcache 或 EnhanceIO 的东西,但仍然积极维护?

linux hard-drive ssd cache flashcache

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

删除linux缓存的ram

我有一个具有 8GB 内存的网络服务器,并且正在运行一个非常密集的 php 站点(1 个站点),该站点可以进行文件操作、绘图、电子邮件、论坛,等等。环境远非静态,这让我相信在 ram 中缓存任何东西几乎没有什么好处,因为几乎每个对服务器的请求都会创建新的或更新的页面。很多缓存是在客户端完成的,所以当涉及到图像、javascript、css 时,我们有大量的 304 请求。

此外,我确实有语言文件被写入服务器上的平面文件,其中缓存的 ram 绝对是好的,而不是从磁盘读取。但是这样的文件屈指可数。

在大约两周内,我从拥有 98% 的空闲内存变成了 4% 的空闲内存。这发生在我们还将几个大型 svn 更新推送到服务器的时候。

我的问题是,如果我使用以下命令定期清除缓存(我知道 Linus Torvalds 对缓存的感觉),我的服务器是否会得到更好的调整:

sync; echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

或者我最好编辑以下文件:

/proc/sys/vm/swappiness  
Run Code Online (Sandbox Code Playgroud)

如果我用 30 替换默认值 60,我应该有更少的交换和更多的陈旧缓存重用。

看到使用第一个命令释放所有缓存确实感觉很好,但如果我告诉你这对桌面环境有好处,那我就是在骗你。但是像我上面描述的那样的网络服务器呢?想法?

编辑:我知道系统将根据需要从缓存中获取内存,但感谢您指出我们的清晰。当大部分服务器内存存储在缓存中时 Apache 会变慢,我是否在想象事情?那是完全不同的问题吗?

linux memory web-server cache swapping

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

如何将 Windows 7 中的“身份验证缓存”清除到受密码保护的 samba 共享?

我有一个 Linux samba 服务器,并且明确列出了可以访问该文件夹的用户。

我已经成功地将 Samba 配置为在从 Windows 访问共享时需要用户名和密码(使用 smbpasswd 等)。

但现在我想强制清除 Windows 机器上的身份验证缓存。例如,当我去同事的计算机时,我使用我的帐户访问受保护共享中的文件,但是在离开他的计算机之前,我要确保清除授权缓存,以便他无法访问该文件夹我的凭据。

几周前我在谷歌的 Windows 命令提示符中找到了要使用的命令,但我很傻,我没有保存它......

希望有人能帮忙,谢谢!

哦,Samba 被配置为工作组而不是域(如果有帮助的话) - 所以 Windows 用户不会在启动时登录到域。

windows cache authentication samba

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

正确处理写入缓存的 SATA 磁盘?

在用于数据库的单个磁盘上禁用写入缓存的建议很常见,否则某些磁盘将确认尚未写入磁盘表面的写入。

这意味着某些磁盘在写入磁盘表面之前不会确认写入(更新:或者当被要求刷新缓存时它们会准确报告。我在哪里可以找到这样的磁盘,或者我可以在哪里查找权威信息在哪里可以找到这样的磁盘?

我正在设置一些可以从使用写入缓存中真正受益的数据库服务器,但该应用程序对价格敏感,我不想将某些缓存 RAID 控制器的磁盘子系统的成本增加一倍,因为我没有足够的信息知道我是否可以信任每个驱动器中的缓存。

hard-drive cache sata data-integrity

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

SQL Server - 在内存中强制数据库?

我们有一个强大的 Windows 2008 x64 服务器(4 x 4 核 CPU,32GB RAM)运行 SQL Server 2005 64 位。我们有一个很小(6GB)但非常重要的数据库,它在页面缓存在内存中之前访问有点慢(使用是非常随机的 I/O,因此给定页面在内存中的几率非常低,最终用户抱怨最初的缓慢)。磁盘足够快(本地 15K SAS),但我猜该应用程序编写得有些笨拙(它是一个 COTS 解决方案)所以我想知道是否有办法在 SQL Server 2005(不支持 2008)的内存中“强制”数据库由供应商提供,所以我们不应该升级到那个)来帮助避免最初的缓存填充蓝调?

我目前的方法是,我从脚本中的每个表中运行 SELECT * 以获取内存中的数据页,但此方法未缓存某些对象(索引、全文搜索等)(并修改脚本以查询索引和将适当的 WHERE 子句写入缓存是一种复杂的海洋)。

memory database cache sql-server sql-server-2005

14
推荐指数
2
解决办法
8101
查看次数

SSI(Server Side Include)和ESI(Edge Side Include)的主要区别

我需要在 Web 服务器级别将动态内容包含到静态页面中。到目前为止,我发现的 2 个选项是Server Side Include (SSI)Edge Side Include (ESI)

虽然起源SSI似乎古老而晦涩(来自伊利诺伊大学 95 的缓存页面似乎是参考,显然它来自NCSA httpd曾经为大约 95% 的网络提供动力网络服务器),但ESI似乎更近更近和令人欣喜(w3 2001 年的规范,主要由 Akamai 的人编写)。

另外,我一直在听说Varnish+ESI并且我想知道这是否应该是要走的路。但是,我已经有了一个设置nginx,它只支持SSI并且希望遵循该KISS原则并Varnish尽可能避免使用。

对于我的直接用例,即在每个页面的顶部包含一个动态用户栏,我相信SSI可以完成这项工作。但是我担心随着我的网站的增长,我将需要仅支持的功能,ESI这将迫使我重新设计所有内容,这让我想到了我的问题(最终读者说):

哪些不支持的主要功能SSI会让您选择ESI(反之亦然)?

nginx web-server cache varnish

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

硬件 RAID 控制器缓存电池故障频率/寿命?

我所在的环境包含许多配备AdaptecLSI MegaRAID硬件 RAID 控制器的Supermicro服务器。这些控制器包含电池供电的缓存模块,以帮助提高写入性能并保护传输中的数据。

常见的支持问题是 RAID 控制器电池故障。此偏移从阵列回写写通模式。由于系统以降低的写入速度运行,这显然会对性能产生负面影响。这种情况一直存在,直到可以建立停机时间窗口以关闭系统电源并更换电池。

这对我们来说是非常常规的操作;几乎每周在数千个物理服务器上...我们甚至有充电站来准备更换电池,以便可以在没有充电周期的情况下更换电池。

也许我被 HP ProLiant 服务器和Smart Array RAID 控制器的悠久历史所宠坏,但 HP 系统的电池寿命通常为 4-6 年。他们最终在 2009 年左右取消了 RAID 电池的使用。它们被超级电容器支持的内存模块(闪存支持的写缓存,或 FBWC)所取代,并且不需要更换、处理或漫长的初始充电周期。

由于我看到 Adaptec 和 LSI 控制器电池故障有时发生在使用时间不到12 个月的系统上,我想知道这在其他环境中是否常见。

如果这是常见的,其他大型服务器环境如何处理?

  • 处理 RAID 电池更换的任何提示或技巧?
  • 是否有任何配置参数可以提供帮助?
  • 这对环境中的操作有多大的破坏性?
  • 机箱冷却和温度不佳会是一个因素吗?
  • 我们做错了什么吗?
  • Dell PERC 控制器由 LSI 制造。戴尔环境是否会经历同样短的电池寿命?

LSI 产品资料概述了一种使用寿命超过 1 年的新一代电池。 在此处输入图片说明

HP ProLiant DL585 G2 服务器,具有 1000 多天的正常运行时间和令人满意的 RAID 电池...

# uptime 
 05:38:08 up 1031 days, …
Run Code Online (Sandbox Code Playgroud)

hardware cache battery hardware-raid

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

Nginx 缓存符号链接

我的 Web 服务器上有一个部署系统,每次部署应用程序时,它都会创建一个新的带时间戳的目录,并将“当前”符号链接到新目录。这一切在 apache 上都运行良好,但在我设置的新 nginx 服务器上,看起来正在运行来自“旧”部署的脚本而不是新的符号链接脚本。

我已经阅读了一些关于如何解决这个问题的教程和帖子,但没有太多信息,似乎没有任何效果。这是我的 vhost 文件:

server {
    listen 80;

    server_name ~^(www\.)?(?<sname>.+?).testing.domain.com$;
    root /var/www/$sname/current/public;
    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) {
        add_header        Cache-Control public;
        add_header        Cache-Control must-revalidate;
        expires           7d;
    }

    location ~ \.php$ {
        #fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
        include fastcgi_params;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
    }

    location ~ /\.ht {
        deny all;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 fastcgi_params:

fastcgi_param   SCRIPT_FILENAME         $document_root$fastcgi_script_name;
fastcgi_param   QUERY_STRING        $query_string;
fastcgi_param   REQUEST_METHOD …
Run Code Online (Sandbox Code Playgroud)

nginx cache php-fpm php7

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

如何从 Chrome 浏览器清除(删除/删除)证书 (ssl/https) 缓存?

我在设置一些自签名证书时浪费了很多时间;问题原来是浏览器(Chrome)缓存了一个错误版本的证书,然后就不放手。我做了很多修改证书的实验,结果发现这些实验没有测试任何内容,因为浏览器没有读取新版本的证书。

最后,我点击了浏览器地址栏中 URL 左侧显示的“无效”指示器。谁知道这是一个活跃的元素?单击它可以让我查看浏览器的证书版本。到期日期和时间与最新证书不匹配;这就是我知道浏览器使用了错误版本的方式。

我在 StackExchange 上发现了另一个类似的问题,但没有一个答案对我有用。(Chrome“设置”界面不断变化。)那么在 Chrome 版本 81 上如何清除证书缓存呢?

certificate cache remove chrome

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

我的 ISP 是否缓存了 DNS?

我去了我的 zoneedit.com,将 mydomain.com 更改为指向不同的 IP。但变化尚未生效。

这是因为我的 ISP DNS 正在缓存吗?

domain-name-system ip cache

13
推荐指数
2
解决办法
8万
查看次数