簡體   English   中英

pecl擴展php-amqp是否會導致內存泄漏?

[英]Is pecl extension php-amqp cause memory leaking?

假設我們必須創建交換和隊列。 第一個腳本將使用pecl擴展名

pastebin.com/2vzQBjtQ

第二個腳本將使用php-aqmp庫http://github.com/videlalvaro/php-amqplib

pastebin.com/WurFfDSE

腳本是相同的,它們只是通過循環聲明交換和隊列並演示系統內存。

運行第一個腳本,我們得到

php /home/www/application/controllers/rabbit_memory_test.php
100 Memory usage is 23277568
200 Memory usage is 39096320
300 Memory usage is 56262656
400 Memory usage is 74784768
500 Memory usage is 94380032
600 Memory usage is 115019776
700 Memory usage is 135467008
800 Memory usage is 156147712
900 Memory usage is 177041408
It took 2.9051361083984 seconds for php.

運行第二個腳本,我們得到

php /home/www/application/controllers/rabbit_memory_test2.php
100 Memory usage is 9306112
200 Memory usage is 9342976
300 Memory usage is 9342976
400 Memory usage is 9342976
500 Memory usage is 9342976
600 Memory usage is 9342976
700 Memory usage is 9342976
800 Memory usage is 9342976
900 Memory usage is 9342976
1000 Memory usage is 9342976
It took 2.7014260292053 seconds for php.

是在使用pecl擴展程序時發生內存泄漏,還是我以錯誤的方式使用了擴展程序API?

我解決了問題,將第一個腳本的這段代碼移到循環的開始

$connection = new AMQPConnection();
$connection->connect();

// Open Channel
$channel    = new AMQPChannel($connection);
$exchange   = new AMQPExchange($channel);
$queue      = new AMQPQueue($channel);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM