У меня проблема в том, что shell_exec
в сочетании с командой facter
работает очень медленно при запуске через Jenkins.Другие команды, кроме facter
(например, whoami
), являются быстрыми.
Код выполняется на виртуальной машине Ubuntu, которая недавно была обновлена с 14.x до 18.04.1 LTS.На Ubuntu 14.x я не сталкивался с этой проблемой.Facter в настоящее время имеет версию 3.11.3.
Я прибавил проблему скорости до shell_exec
в сочетании с facter
, используя следующий код:
<?php
/**
*/
require_once 'AbstractTestCase.php';
/**
*/
class FacterTest extends AbstractTestCase
{
/**
*/
public function testSpeedDebug()
{
Core_Util_Debug::performanceStart('whoami');
shell_exec('whoami');
Core_Util_Debug::performanceEnd('whoami');
Core_Util_Debug::performanceStart('facter');
shell_exec('facter hostname');
Core_Util_Debug::performanceEnd('facter');
die (PHP_EOL);
}
}
При запуске вручнуючерез CLI вывод:
>> name: whoami | time: 0.005261 s | memory: 3.3359 kB RAM
>> name: facter | time: 0.160292 s | memory: 0 B RAM
При запуске через Jenkins вывод:
>> name: whoami | time: 0.005495 s | memory: 3.3359 kB RAM
>> name: facter | time: 8.652776 s | memory: 0 B RAM
Есть ли у кого-то идея, почему он медленный при запуске через Jenkins (~ 8 раз)медленнее)?
Заранее спасибо.
Дополнительная информация: Быстро попробуйте на Bamboo, и поведение будет таким же, как на Дженкинсе.