调整LAMP服务器

我正在尝试加载testing我的团队使用jmeter在AWS ubuntu 14.04上开发和部署的LAMP应用程序 。 我们使用AWS CDN来提供静态文件, mysqlapache在同一个主机上。

当只有一个用户在做东西时,响应时间是正常的,根据页面在2到5秒之间。

我的目标是在同一时间让100个连接的用户在同一时间做出回应。

我使用了一个AWS T2.MEDIUM实例( 2个vCPU + 4GB RAM ),并使用mod_phpprefork模块启动,但是我并不满意。 服务器是可笑的慢。 响应时间为+ 20sCPURAM使用 率高

在尝试了一些SO资源之后,我尝试了使用php-fpmevent moduleRAM使用情况现在比较好,但是由于php-fpm过程使用的CPU太高。 (我尝试与静态/ ondemand /dynamic与不结果)

这里是我的configuration使用事件模块的dynamicconfiguration,为aws t2.medium实例( 2 vCPU + 4GB RAM )上的100个并发用户提供服务 – PHP-FPM CPU使用率非常高:

top - 17:21:41 up 1:58, 1 user, load average: 5.52, 3.83, 1.86 Tasks: 128 total, 6 running, 122 sleeping, 0 stopped, 0 zombie %Cpu(s): 97.0 us, 2.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.2 si, 0.2 st KiB Mem: 4046848 total, 2170544 used, 1876304 free, 104788 buffers KiB Swap: 0 total, 0 used, 0 free. 1107856 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 14285 www-data 20 0 603996 192688 25096 R 52.3 4.8 2:19.28 php5-fpm 14300 www-data 20 0 814276 402980 29224 R 36.6 10.0 2:25.77 php5-fpm 14318 www-data 20 0 448444 40480 25800 R 34.3 1.0 2:03.65 php5-fpm 14384 www-data 20 0 455808 48472 25860 R 34.3 1.2 2:06.95 php5-fpm 15022 www-data 20 0 447488 38748 24644 R 31.6 1.0 1:25.14 php5-fpm 16309 perf 20 0 321248 39296 9632 S 5.0 1.0 0:00.15 php5 1106 mysql 20 0 1129640 148232 7548 S 1.7 3.7 0:38.17 mysqld 

/etc/php5/fpm/php-fpm.conf

 [global] pid = /var/run/php5-fpm.pid error_log = /var/log/php5-fpm.log include=/etc/php5/fpm/pool.d/*.conf 

/etc/php5/fpm/pool.d/www.conf

 [www] pm.status_path = /status user = www-data group = www-data listen = /var/run/php5-fpm.sock listen.owner = www-data listen.group = www-data pm = dynamic pm.max_children = 100 pm.start_servers = 5 pm.min_spare_servers = 4 pm.max_spare_servers = 6 pm.max_requests =0 rlimit_files = 131072 rlimit_core = unlimited catch_workers_output = yes chdir = / 

/etc/apache2/mods-enabled/mpm_event.conf

  <IfModule mpm_event_module> ServerLimit 10 StartServers 5 MinSpareThreads 5 MaxSpareThreads 15 ThreadLimit 50 ThreadsPerChild 10 MaxRequestWorkers 100 MaxConnectionsPerChild 0 </IfModule> 

我觉得我很亲密,但我做不到。 我会更新我的问题与任何文件,日志或输出你会问。 请,这是非常关键的,我会非常感激你。 非常感谢你

==================================== 更新:1

看看PHP错误日志,我可以看到吨的PHP致命错误:

 call to a member function xxxxx() on a non-object 

PHP的致命错误可以导致高cpu? (可能被多个进程写入消耗更多的CPU周期)