标签: cache

ASP.NET 缓存修剪知道应用程序池内存限制吗?

我在 Win2003 32 位上运行一个 ASP.NET 应用程序,它往往会分配大量内存。为了避免在 W3P 进程超过 1 GB 时开始出现 OutOfMemoryExceptions,我为此应用程序池设置了 850 MB 的最大虚拟内存限制,因此应用程序将重新启动而不是抛出异常。

虽然不会抛出异常,但这些重启仍然会导致暂时的性能退化(低缓存命中率、aspx 编译等),所以我想尽量减少重启的次数。观察性能计数器,我可以看到 ASP.NET 缓存按设计工作(项目计数和缓存命中率在启动后增加,而某些项目可能由于到期日期而被删除),除了缓存修整。

例如 我希望缓存修整在例如 750 MB 正在使用并且其中一半是缓存时启动。但它永远不会发生,在负载下它会继续分配越来越多的内存,而不是例如丢弃低优先级缓存项,直到达到内存限制。

有人知道什么会真正触发缓存修剪吗?可用物理内存?是否有任何其他设置可用于优化此场景?

(是的,我知道,32 位是 2004 年,使用 x64 这个问题会消失,甚至可能使用相同数量的内存,但对于这个应用程序,我在这台服务器上又卡住了几个月,必须保持它跑步...)

asp.net application-pools cache 32-bit

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

将 SSD 缓存设备添加到我的 ZFS 存储会提高性能吗?

服务器有 4GB 的 RAM,我的 zpool 由 15.5k SAS 驱动器组成,排列如下:

    NAME          STATE     READ WRITE CKSUM
    tank          ONLINE       0     0     0
      raidz1-0    ONLINE       0     0     0
        c0t2d0    ONLINE       0     0     0
        c0t3d0    ONLINE       0     0     0
        c0t4d0    ONLINE       0     0     0
        c0t5d0    ONLINE       0     0     0
        c0t6d0    ONLINE       0     0     0
        c0t7d0    ONLINE       0     0     0
        c0t8d0    ONLINE       0     0     0
      raidz1-1    ONLINE       0     0     0
        c0t10d0   ONLINE       0     0     0
        c0t11d0   ONLINE       0     0     0
        c0t12d0   ONLINE       0     0     0
        c0t13d0 …
Run Code Online (Sandbox Code Playgroud)

zfs ssd cache io

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

为小型 VPS 优化 MySQL

我正在尝试为一个小型 VPS 优化我的 MySQL 配置。VPS 还运行 NGINX/PHP-FPM 和 Magento;所有这些都限制为 250MB 的 RAM。

这是 MySQL Tuner 的输出...

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.41-3ubuntu12.8
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster 
[--] Data in MyISAM tables: 1M (Tables: 14)
[--] Data in InnoDB tables: 29M (Tables: 301)
[--] Data in MEMORY tables: 1M (Tables: 17)
[!!] Total fragmented tables: …
Run Code Online (Sandbox Code Playgroud)

mysql optimization cache magento

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

加速 Apache 和 PHP

我可以使用哪些用于缓存的好的模块或系统来减少运行 PHP 的 EC2 服务器上的 Apache 负载,为什么要选择它们?

php cache amazon-ec2 apache-2.2

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

清除arp缓存

  • 如何清除arp缓存?
  • 如何刷新arp表?

linux cache arp

5
推荐指数
2
解决办法
8957
查看次数

Linux 缓冲区缓存对 IO 写入的影响?

我正在 Linux 服务器(内核 2.6.37、16 核、32G RAM)上的 2 个文件系统之间复制大文件(3 x 30G),但性能很差。我怀疑缓冲区缓存的使用正在扼杀 I/O 性能。

为了尝试缩小问题的范围,我直接在 SAS 磁盘上使用 fio 来监控性能。

这是 2 次 fio 运行的输出(第一次直接=1,第二次直接=0):

配置:

[test]
rw=write
blocksize=32k
size=20G
filename=/dev/sda
# direct=1
Run Code Online (Sandbox Code Playgroud)

运行 1:

test: (g=0): rw=write, bs=32K-32K/32K-32K, ioengine=sync, iodepth=1
Starting 1 process
Jobs: 1 (f=1): [W] [100.0% done] [0K/205M /s] [0/6K iops] [eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=4667
  write: io=20,480MB, bw=199MB/s, iops=6,381, runt=102698msec
    clat (usec): min=104, max=13,388, avg=152.06, stdev=72.43
    bw (KB/s) : min=192448, max=213824, per=100.01%, avg=204232.82, stdev=4084.67
  cpu          : …
Run Code Online (Sandbox Code Playgroud)

linux cache linux-kernel

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

当模式在其名称中包含连字符(“-”)时,MySQL 5.5.9 查询缓存不起作用

我正在运行从 mysql.com 下载的 MySQL 5.5.9 x86_64 RPM。在 CentOS 5.5 Xen DomU 上运行。

我启用了 Query_cache 但是 MySQL 从不使用它。我所有的表都是 InnoDB。为什么 Qcache 从不命中?

更新 2:我发现这仅限于名称中带有 - 的模式。创建一个新架构,例如 new-db,查询缓存失败。不幸的是,我有 148 个现有的 Schama,它们的名字中都带有“-”。

更新这似乎仅限于从以前版本的 MySQL (5.0.32) 转储和导入的模式 创建新模式并在此查询缓存中查询表按预期工作。

这是我的 Qc 工作和不工作的设置和示例。

mysql> SHOW VARIABLES LIKE '%query_cache%';
+------------------------------+-----------+
| Variable_name                | Value     |
+------------------------------+-----------+
| have_query_cache             | YES       |
| query_cache_limit            | 2097152   |
| query_cache_min_res_unit     | 4096      |
| query_cache_size             | 536870912 |
| query_cache_type             | ON        |
| query_cache_wlock_invalidate | OFF       |
+------------------------------+-----------+ …
Run Code Online (Sandbox Code Playgroud)

mysql innodb cache

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

在 Varnish 前使用 Cherokee 而不是 nginx 来获得 HTTP 1.1 优化?

我们一直在运行 nginx -> uWSGI,现在我们正在评估将 Varnish 作为 nginx 和 uWSGI 之间的缓存层(类似于 http://www.heroku.com/how/architecture)。

但是,nginx 只支持背面的 HTTP 1.0,因此它必须为每个请求创建与 Varnish 的新连接。

许多人建议在 Varnish 之前运行 nginx,但是使用像 Cherokee 这样的东西来消除 HTTP 连接开销不是更有意义,因为它在后面支持 HTTP 1.1?

http nginx cache varnish cherokee

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

如何将文件夹映射到内存?

有没有办法将特定文件夹映射到内存?假设我有 C:\somePath 并且我希望该文件夹始终在内存中,并且可能会在没有我通知的情况下将更改异步转储到 HDD。所以这更像是在内存中强制缓存 HDD 内容......对于 Windows 7 或任何 Windows 操作系统?

windows memory hard-drive directory cache

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

需要较慢/缓存的 Linux 文件系统

我知道这听起来很奇怪,但我需要一个更慢或缓存的文件系统。

我有很多防火墙将它们的数据系统记录到一对 Linux 虚拟机,这些虚拟机将这些文件写入它们的“本地”(实际上是 FC SAN 连接)ext3 格式的磁盘,并将消息转发到我们的 Splunk 服务器。

问题是 syslog 服务器正在将这些 syslog 消息以每秒数百次甚至数千次约 4k 的微小写入写回我们的 FC SAN——它现在可以处理这种工作负载,但我们的 FW 流量将至少增长在未来几个月内(真的)增加 5000% 的因素,这对 SAN 来说是一个痛苦,我想在问题出现之前解决根本原因。

所以我需要一些帮助来找出一种方法,以某种方式从“物理”磁盘中缓存或延迟这些写入,以便 VM 触发更大但不那么频繁的写入 - 没有办法避免这些写入,但是有不需要它做这么多小事。

我查看了各种 ext3 选项,设置了 noatime 和 nodiratime 但这并没有对问题造成太大影响。显然,我正在调查其他文件系统,但我想我会把它扔掉,以防其他人将来遇到同样的问题。

哦,我不能只是将这些消息转发到 Splunk,我们的防火墙团队坚持认为它们采用原始格式以用于诊断目的。

linux filesystems ext3 cache

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