2015-01-02 3 views
1

이 설치된 Symfony2 응용 프로그램이 있습니다. 번들 문서화에 설명 된대로 소비자 및 제작자를 설정했으며 모든 것이 올바르게 작동합니다. 하지만 내 고객은 으로 시작했습니다. /app/console rabbitmq : 소비자는 사용 가능한 모든 CPU 시간을 사용합니다. 기본적으로 소비자는 메시지를 기다리고 출력합니다. 데모 소비자가 php-amqplib에서 시작하면 CPU 사용량은 거의 제로입니다. 나는 Symfony (2.6과 2.3)의 다른 virsion을 시도했지만 이것이 CPU 부하에 영향을 미치지는 않는다. 내 서버 구성 :AMQP 소비자가 CPU를 100 %로로드합니다.

  1. 데비안은 PHP 5.6.4 7
  2. 은 어떤 데이터베이스를 사용하지
  3. (도 5.4 시도)
  4. RabbitMq 3.4.2

CPU를 줄일 수있는 방법이 있나요 소비? 감사합니다

답변

0

그냥 아주 비슷한 문제가 발생하여 일부 디버깅 후에 내가 rabbitmq 연결을 인스턴스화하는 옛날 사용하고 있음을 깨달았다.

방법의 새로운 서명이 여기에 설명되어 있습니다 : https://github.com/videlalvaro/php-amqplib/blob/master/PhpAmqpLib/Connection/AbstractConnection.php#L136

나는 버전에서 주위 어딘가에 아주 오래된 정의에 따라 더 같은

$this->connection = new Connection\AMQPConnection(
    $server->host, 
    $server->port, 
    $server->user, 
    $server->password, 
    $server->vhost, 
    $server->insist, 
    $server->login_method, 
    $server->locale, 
    $server->connection_timeout, 
    $server->read_write_timeout, 
    $server->context, 
    $server->keepalive, 
    $server->heartbeat 
); 

을보고 뭔가에 전송 된 2 https://github.com/videlalvaro/php-amqplib/blob/v2.0.0/PhpAmqpLib/Connection/AMQPConnection.php#L31

그래서 플러그인은 새 버전의 라이브러리를 사용하는 것처럼 보이지만 연결을 시작하는 새로운 방법은 사용하지 않습니다.

+0

어떻게 이런 일이 발생합니까? – frostymarvelous

관련 문제