1

两周以来,我们的一个网站出现了问题,在“高峰时间”(Analitycs 实时显示约 170-200 人)它消耗了所有可用内存 (16GB)。正常状态是在 2-3GB 之间分配。内存增长不是恒定的,有时非常迅速,例如 4-16 GB/2 分钟,有时增长是渐进的。这种行为在我们的两台服务器(Server1 和 Server2)上看起来都是一样的。

服务器配置:

公共 Internet 和实际应用程序服务器之间的流量由 haproxy 处理,当前所有流量都定向到 Server1,如果 Server1 停止响应,流量将转到 Server2(主动备份配置)。网站数据库(MSSQL 2008 R2)放置在 Server3 上。在媒体服务器上,我们存储来自应用程序虚拟 /media 文件夹的所有文件。该服务器由 Linux 驱动,这里没有问题。

Server1、Server2、Server3 是放置在一台物理机器上的 VM(Linux Debian KVM,来自 backports 的最新版本的 libvirt,机器非常稳定,尤其是 DB 服务器)。媒体服务器是物理存储机器。

服务器1:

  • 操作系统 – Windows Server 2012 标准
  • CPU – 8x2GHz
  • 内存 -16GB
  • IIS8

服务器2:

  • 操作系统 – Windows Server 2008 Web
  • CPU – 4x2GHz
  • 内存 – 4GB
  • IIS7

两台服务器的共同点:

网站基于 Umbraco 4.7、.net 4.0。媒体文件夹作为“网络位置”连接,物理放置在媒体服务器(Linux Samba 3.x)上。在数据库中,我们有大约 25000 个节点。

我们观察到该网站大量使用与媒体服务器的连接(高达 200Mbit/s)。

我们已更改 URL,以便媒体请求不再通过 IIS。网站在 Windows Server 2008 和 Windows Server 2012 之间移动,但问题仍然存在。

我们认为问题出在代码上,所以我们回滚了自上个月以来的所有更改(使用我们的代码存储库),但这并没有解决问题。

我们已经使用过 DebugDiag 和 Ants Memory Profiler 等程序

http://imageshack.us/a/img823/8151/p4performancemonitor.png http://imageshack.us/a/img838/2319/p4tasks.png

我们还能如何检查问题出在哪里?

4

1 回答 1

1

Here are some things to check for that I've used when I've had memory issues in the past with Umbraco sites:

1) Is the site using Linq 2 Umbraco in the code anywhere? This has quite a few problems with memory usage, especially under heavy load, so it's possible that this could be the cause of your problems. If you are using it, look at your code for inefficient Linq queries, and consider replacing the code with something using the Node API or XSLT instead.

2) Is the site running any custom .net code that uses the Document API on the front end? In general this can be pretty slow and resource intensive, and should be avoided if possible on the front end (back office is fine).

3) Check any other custom code for potential memory leaks or inefficient use of resources.

4) Have a look through the old issue logs for Umbraco (can't find a link at the moment, sorry!), that should give you an idea of whether you're experiencing a known issue with that particular version of Umbraco. If it is, you may need to upgrade (which may or may not be a major hassle depending on your Umbraco setup).

Hope that helps!

于 2013-05-28T09:43:46.383 回答