首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否已经超出了当前VPS的限制,或者是否有优化的空间?

我是否已经超出了当前VPS的限制,或者是否有优化的空间?
EN

Server Fault用户
提问于 2010-04-07 00:32:15
回答 2查看 2K关注 0票数 4

我目前在一个中间DV服务器(基本)512 am专用内存,这是一个基于CentOS的VPS与Plesk和Virtuozzo。从第一天开始,我的体验就很糟糕,我只能用几个缓存“创可贴”来缓解我的服务器问题,但是我的站点也没有一年前那么小了,所以问题已经恶化了。

我有3个Drupal安装在单独的(plesk)域上运行,其中1个drupal安装是一个多站点,由5-6个站点组成,其中2个站点带来了实际的流量。我提到的那些缓存“创可贴”是APC,它一开始似乎有很大帮助,而Drupal的Boost,被认为是穷人的清漆,使我所有的页面对匿名用户来说都是静态的。过去30天,谷歌分析公司()的综合估值为:9万名访客,260 000次页面浏览量。

问题:很多停机时间,我不断地检查我的网站是否有上升,最近我已经发现它超过3次每天。重新启动Apache将使其恢复正常运行一段时间。我有谷歌搜索每一条错误信息,并查找优化我的DV服务器的方法,我已经超越了我的下一步行动。这台服务器不好吗,我是否遇到了一个不可能的低限制,如12 my内核内存屏障(kmemsize),它在我的一端,我需要优化更多吗?

*我已提供尽可能多的资料,如有任何帮助或建议,将不胜感激。

我在日志中看到的常见错误消息:

代码语言:javascript
复制
[error] (12)Cannot allocate memory: fork: Unable to fork new process
[error] make_obcallback: could not import mod_python.apache.\n
Traceback (most recent call last):
 File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 21, in ?
 import traceback
 File "/usr/lib/python2.4/traceback.py", line 3, in ?
 import linecache
 ImportError: No module named linecache
[error] python_handler: no interpreter callback found.
[warn-phpd] mmap cache can't open /var/www/vhosts/***/httpdocs/*** - Too many open files in system (pid ***)
[alert] Child 8125 returned a Fatal error... Apache is exiting!
[emerg] (43)Identifier removed: couldn't grab the accept mutex
[emerg] (22)Invalid argument: couldn't release the accept mutex

cat /proc/user_bean计数器:

代码语言:javascript
复制
Version: 2.5
       uid  resource           held    maxheld    barrier      limit    failcnt
     41548: kmemsize        4582652    5306699   12288832   13517715   21105036
            lockedpages           0          0        600        600          0
            privvmpages       38151      42676     229036     249036          0
            shmpages          16274      16274      17237      17237          2
            dummy                 0          0          0          0          0
            numproc              43         46        300        300          0
            physpages         27260      29528          0 2147483647          0
            vmguarpages           0          0     131072 2147483647          0
            oomguarpages      27270      29538     131072 2147483647          0
            numtcpsock           21         29        300        300          0
            numflock              8          8        480        528          0
            numpty                1          1         30         30          0
            numsiginfo            0          1       1024       1024          0
            tcpsndbuf        648440     675272    2867477    4096277    1711499
            tcprcvbuf        301620     359716    2867477    4096277          0
            othersockbuf       4472       4472    1433738    2662538          0
            dgramrcvbuf           0          0    1433738    1433738          0
            numothersock         12         12        300        300          0
            dcachesize            0          0    2684271    2764800          0
            numfile            3447       3496       6300       6300       3872
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            numiptent            14         14        200        200          0

顶部:(一月份的负载avg是非常高的3-10,我能够把它降低到目前的水平,给APC更多内存。)

代码语言:javascript
复制
top - 16:46:07 up  2:13,  1 user,  load average: 0.34, 0.20, 0.20
Tasks:  40 total,   2 running,  37 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.3% us,  0.1% sy,  0.0% ni, 99.7% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:    916144k total,   156668k used,   759476k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

MySQLTuner:(在优化每个表并修复任何超龄表之后,我将碎片计数降至86)。

代码语言:javascript
复制
[--] Data in MyISAM tables: 285M (Tables: 1105)
[!!] Total fragmented tables: 86

[--] Up for: 2h 44m 38s (409K q [41.421 qps], 6K conn, TX: 1B, RX: 174M)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 58.0M global + 2.7M per thread (100 max threads)
[!!] Query cache prunes per day: 675307
[!!] Temporary tables created on disk: 35% (7K on disk / 20K total)
EN

回答 2

Server Fault用户

发布于 2010-04-07 13:01:35

内存不足(RAM)。

升级到1或2GB应该会大大提高性能。

看起来这是你成本的两倍或三倍,所以你可能想看看其他的VPS提供商。

票数 2
EN

Server Fault用户

发布于 2010-04-07 13:21:59

如果您只对Drupal站点使用VPS,那么您最好运行Aegir,而不是像Plesk这样的完整的控制面板。不知道这会节省多少资源,但这可能值得考虑。

关于优化Drupal的最佳方法,有相当多的文章,但它们通常涉及到抛出相当多的公羊。这个收藏品是一个很好的开始。但是首先,确保您没有运行任何您不需要运行的模块。

您还可能需要考虑是否将MySQL移动到单独的服务器(但可能不是针对Drupal,因为它倾向于大量使用数据库)。如果您的大部分流量是针对匿名用户的,那么可能值得考虑使用额外的服务器来运行缓存转发代理和/或memcached。

但是,这个服务器上的额外内存可能是最简单和最好的解决方案。512‘t对于运行一些相当大的Drupal站点的组合web/MySQL服务器来说不是很多。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/129944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档