Symfony / Apache - 高CPU和RAM使用率

时间:2018-02-13 10:17:40

标签: php ajax apache symfony

我目前正在开发与HTTPD相结合的Symfony项目。服务器CentOS。 我使用twig视图和PHP控制器。我面临着巨大的性能问题。

当我以任何方式调用控制器时(返回视图,AJAX ......),我的RAM上升到20%,CPU上升到~15%。我可以通过命令" top"和HTTPD过程。

%Cpu(s):  5,5 us,  1,2 sy,  0,0 ni, 93,3 id,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st

KiB Mem :  1883696 total,    80668 free,  1623492 used,   179536 buff/cache

KiB Swap:  2097148 total,  1796076 free,   301072 used.    67696 avail Mem

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM    TIME+   COMMAND

10992 apache  20  0    2533000 363684  8696 S 12,6   19,3  15:59.17  httpd

我不明白为什么一个简单的ajax调用会这样做。例如:

$.ajax({                                                            
    type: "GET",
    data: {                                                         
        param1: param1,
        param2: param2
    },
    url: "{{ path('my_path') }}",         
    success: function (response) {}

和PHP:

public function my_pathAction(Request $request)
{
    self::instancierRepository(array("Services"));

    $param1 = $request->get('param1 ');
    $param2 = $request->get('param2');

    $liste = $this->repositoryServices->findServices($param1, $param2);

    $response = new Response( json_encode( $liste ));

    return new Response($response->getContent());
}

这种代码使得一个apache进程可以用top来提高CPU 13%和RAM 20%。 毋庸置疑,随着5页一起打开,CPU达到70-80%,那么就不可能使用该应用程序了,因为我每隔10个secondes就会调用这种AJAX请求。

Symfony profiler: link

也许我忘记了Apache配置或Symfony的重要内容。 感谢您的帮助。 再见。

0 个答案:

没有答案