2015-04-29 2 views
0

Я программист Java и новый с php. Я испытываю высокий уровень использования процессора и длительные транзакции, когда я пользуюсь услугами, использующими жужжание. Отправка небольшого сообщения стоила мне в среднем полсекунды. ниже код будет стоить мне 0.249 секундыБудет ли мой старый код жужжания работать с новой версией и что искать?

// Create the REST client 
$client = new Client(URL, array(
     'request.options' => array(
       'auth' => array($lgUser, $lgPassword, 'Basic') 
     ) 
)); 

$time_start = microtime(true); 
// Login to the web service 
$request = $client->get('/PartnerInformation.svc/Login'); 
$request = $client->get('/PartnerInformation.svc/Login'); 
try { 
    $response = $request->send(); 
    $lgSID = $response->xml(); 
    echo ("Logged in successfully; SID: ".$lgSID); 
} catch (Exception $e) { 
    echo ("Error while logging in: ".$e); 
} 
$time_end = microtime(true); 
$time_total = $time_end-$time_start; 
echo('login time: '.$time_total); 

Есть вещи, которые я могу сделать, чтобы ускорить или найти проблему?

Я узнал, просмотрев файл guzzle.phar, который использует версию 3.8.1. Может ли переход на более новую версию повысить производительность и снизить использование процессора? Какие проблемы я могу ожидать при установке новой версии goozle? Будет ли достаточно изменить файл guzzle.phar?

ответ

0

Вы можете прочитать об изменениях и нарушениях в официальном documentation. Однако, как видно из вложенного кода, изменений нет.

0

Архитектурно говоря, есть некоторые огромные различия между 3.8 и 5.2. 5.x больше использует закрытие и анонимные функции. Я нашел, что он более дружелюбен к ресурсам.

В любом случае, Guzzle будет использовать libcurl. В конечном итоге любое наблюдаемое увеличение производительности будет незначительным из-за общей основы.

Я бы рекомендовал модернизировать в серии 5.x и, возможно, даже начать смотреть на 6.x (все еще в разработке), если ни для чего другого, кроме того, что он активно разрабатывается и поддерживается.

Есть некоторые существенные изменения, о которых вам нужно знать. Наиболее важным из них является то, что «ленивые методы» (get, post, header и т. Д. И т. Д.) Будут выполнять запрос и возвращать объект Response.

Я нашел Guzzle Docs жизненно важный ресурс.

 Смежные вопросы

  • Нет связанных вопросов^_^