1 Вы можете утверждать, что ваш мыльный сервер использует сжатие gzip для содержимого http, а также вывод вашего сайта. Сводка по 0,7 с SF кажется немного длинной, либо веб-сервис долго не отвечает, либо есть большая задержка в работе.
Если вы можете, попробуйте другие хостинговые компании для вашего бельгийского сервера, во Франции некоторые получили гораздо лучшую связь с США, чем другие.
Мне пришлось перенести сайт с одного хоста на другой, и задержка в сети между Парижем и Нью-Йорком почти удвоилась! это ужасно, и мой клиент с большим количеством посетителей из США был недоволен этим.
Решение о переносе веб-сервера на SF может быть вариантом, вы получите гораздо лучшее соединение между серверами, но будьте осторожны с задержкой, если ваши посетители в основном находятся в Европе.
2 Вы можете использовать механизм кэширования кода операции, такой как xcache или APC. Это не изменит задержки мыла, но улучшит время выполнения php.
3 В зависимости от того, повторяется ли запрос мыла и сколько времени может продлеваться обновление контента, вы можете существенно улучшить его, используя кэш результатов мыла. Я предлагаю вам использовать систему кэширования в памяти (например, xcache / memcached или другую), потому что они намного быстрее, чем система кеширования файлов или БД.
Из вашего класса метод createclient - не самая адаптированная примерная функциональность для кэширования, но для любой операции чтения это просто лучший способ выполнения:
private function _createClient()
{
$xcache_key = 'clientcache'
if (!xcache_isset($key)) {
$ttl = 3600; //one hour cache lifetime
$client = $this->_getClient(); ///private method embedding your soap request
xcache_set($xcache_key, $client, $ttl);
return $client;
}
//return result form mem cache
return xcache_get($xcache_key);
}
Пример для расширения xcache, но вы можете использовать другие системы очень похожим образом
4 Чтобы пойти дальше, вы можете использовать аналогичный механизм для кеширования ваших результатов обработки php (например, вывод рендеринга шаблона и другие операции использования ресурсов). Ключ к успеху с этой техникой состоит в том, чтобы точно знать, какая часть кэшируется и как долго она будет оставаться освежающей.