将Drupal添加到我的服务器意味着它现在有性能问题

我有一个vb 3.8.4论坛和一个drupal的pressflow 6.22站点一起在我的托pipe服务器上

当我将drupal站点添加到服务器时,服务器中出现了很多性能问题

有时候会导致服务器停机

这里是主机服务器的规格:

  • 操作系统CentOS Linux 5.5
  • Webmin版本1.560
  • 内核和CPU x86_64上的Linux 2.6.18-194.26.1.el5处理器信息英特尔(R)奔腾(R)双CPU E2160 @ 1.80GHz,2个内核
  • 实际内存总计3.74 GB,使用2.35 GB虚拟内存总计4 GB,使用124 kB
  • 本地磁盘空间总计1.76 TB,使用147.63 GB

这里是基本的apache设置:

  • Apache MPM Prefork
  • 主机名查看closures
  • AllowOverride无
  • MaxClients 100
  • ThreadsPerChild 25
  • StartServers 8
  • MaxRequestsPerChild 4000
  • mod_deflate已启用
  • mod_expires已启用

这里是基本的php.ini设置:

  • safe_mode = on
  • max_execution_time = 1200
  • max_input_time = 1200
  • memory_limit = 1500M

这里是mysql的设置:

  • max_allowed_pa​​cket的3G =
  • MAX_CONNECTIONS = 200
  • WAIT_TIMEOUT = 30
  • thread_cache = 50
  • connect_timeout = 30
  • query_cache_limit = 1M
  • interactive_timeout = 30

这是top cpu命令结果:

在这里输入图像说明

这里是free -miostat命令的结果:

在这里输入图像说明

这里是mysqladmin -u root -p ext -ri 30 | grep tmp_disk_tables mysqladmin -u root -p ext -ri 30 | grep tmp_disk_tables命令结果:

  • | Created_tmp_disk_tables | 1771 |
  • | Created_tmp_disk_tables | 2 |
  • | Created_tmp_disk_tables | 5 |
  • | Created_tmp_disk_tables | 3 |
  • | Created_tmp_disk_tables | 7 |
  • | Created_tmp_disk_tables | 0 |

我们安装了:ffmpeg,gd库和zend优化器

CPU的平均负载总是在3以上

所以任何人都可以帮助我呢?

如果您需要任何额外的必要信息,请在评论中提问?

您有一个3.5 GB的内存限制( memory_limit = 3500M ),并有可能启动256个服务器( MaxClients 256 )。 这会使您的潜在内存消耗总量低于900 GB。 除非你的盒子里有那么多的内存,否则你交换的机会是多么的多,这就是你的性能下降的原因。

您需要大幅拨回这两个数字。 在支持Drupal的五年中,我从来没有见过3.5 GB的内存限制。 如果你有一个偶尔的任务需要一个很高的限制,它应该可以在命令行上drush ,而不是通过Apache。

什么是free -m的输出? 怎么样iostatyum install sysstat如果你没有)?

一些进程正在吃你的CPU。 要find什么,请执行以下操作:

 Type on the terminal: top Press Shift+P to order the list by CPU usage. 

检查哪个进程正在消耗你的cpu,或者检查如何处理它,或者把它发布在评论上。

Drupal是高度关系的。 有一点很常见,就是在磁盘上创build临时表。 如果你可以通过优化查询或者把MySQL的tmpdir放到RAM磁盘上的话,你想尽量减less这个。

运行这个:

mysqladmin -u root -p ext -ri 30 | grep tmp_disk_tables

第一项将告诉你从上次重新启动以来在磁盘上创build了多less个临时表; 之后在30秒的窗口中创build了多less个,直到你按下Ctrl-C。

你也没有说你的Drupal表是InnoDB还是MyISAM在MySQLconfiguration方面的build议。 在Drupal 6中它默认为MyISAM。