Articles of производительности

Профиль медленных страниц PHP в производстве

Есть ли способ профилирования только медленных страниц PHP на производственном сервере? На данный момент мы записываем медленные страницы в текстовый файл, но без дополнительной информации трудно сказать, почему они медленные (не постоянно медленные). Раньше я использовал профайлер Xdebug , но я действительно не хочу включать это на наших производственных серверах, так как мы можем получить […]

file_exists () слишком медленный в PHP. Может ли кто-нибудь предложить более быструю альтернативу?

При отображении изображений на нашем веб-сайте мы проверяем, существует ли файл с вызовом file_exists() . Мы возвращаемся к фиктивному изображению, если файл отсутствует. Однако профилирование показало, что это самая медленная часть генерации наших страниц с file_exists() занимающим до 1/2 мс на файл. Мы тестируем только 40 или около того файлов, но это все равно толкает […]

Symfony на Xampp очень медленно развивается, что я могу сделать?

Я создал Symfony, но для каждой загрузки страницы требуется 40 секунд. Если у меня есть пустой контроллер, загрузка занимает 8 секунд. Если я начну делать некоторые сложные запросы в базе данных, это хуже. Что я могу сделать? деактивировать профилировщик? (это сильно изменится?) активировать APC в режиме dev? (но это не будет проблемой для изменения кода) […]

PHP APC в режиме CLI

Модуль APC в PHP при работе в режиме командной строки поддерживает оптимизацию кода? Например, когда я запускаю файл с php -f <file> будет ли файл оптимизирован с помощью APC перед выполнением или нет? Предполагая, что APC настроена на загрузку в файле конфигурации. Также будут ли оптимизированы сценарии, включенные в require_once ? Я знаю, что оптимизация […]

Уровень кэша для MVC – модель или контроллер?

У меня возникают некоторые мысли о том, где реализовать часть кэширования. Где, по-вашему, самое подходящее место для его реализации? Внутри каждой модели или в контроллере? Подход 1 (psuedo-code): // mycontroller.php MyController extends Controller_class { function index () { $data = $this->model->getData(); echo $data; } } // myModel.php MyModel extends Model_Class{ function getData() { $data = […]

Будет ли PHP умирать в мире разработки веб-страниц?

Я знаю, что PHP по-прежнему является самым популярным языком веб-программирования в мире. Этот вопрос просто хотел бы затронуть некоторые из моих проблем в отношении PHP. PHP, естественно, связан с проблемой C10K . Поскольку PHP (обычно выполняемый в Apache) не может управляться событиями или асинхронно, каждый HTTP-запрос будет занимать хотя бы один поток или процесс. Это […]

Оптимизация производительности Symfony 2

Мы ищем инфраструктуру PHP для работы в будущем и в настоящее время тестируем продукты с помощью Symfony 2. Для этого мы переработали наш API и внедрили его в виде пакета в Symfony. Оказалось, что Symfony кажется очень медленным – на самом деле намного медленнее, чем наша старая (даже не продуманная) система. Мы попытались оптимизировать производительность […]

Как сначала сделать первую часть сайта? (Как в Google PageSpeed)

У меня очень большой сайт, и загрузка занимает довольно много времени. Это займет около 120 секунд. То, что я пытаюсь сделать, это загрузка 1-й половины сайта загружает 1-й. Затем пользователь может работать, пока загружаются другие части. То, что я пытаюсь сделать, ниже. В первую очередь это возможно? По моим сведениям, Да, так как Google PageSpeed […]

Должен ли я использовать ассоциативный массив или объект?

Как мы все знаем, json_decode дает вам возможность возвращать ассоциативный массив или объект. Есть много других ситуаций, когда у нас есть два варианта. Очевидно, что в некоторых случаях использование одного или другого более «целесообразно» на основе типа данных, с которыми вы имеете дело (группа данных, относящихся к одному элементу или списку элементов). Мне интересно, есть […]

превышение времени выполнения для решения пары разницы

Недавно мне пришлось выполнить вызов кода, где мне было поручено, чтобы для набора чисел находилось число пар, чья разница была K. Например, учитывая номера 1, 5, 3, 4, 2 и разность K ( 2) имеется 3 пары: (5,3) (4,2) (3,1). Я пробовал этот вызов в PHP. Мой код прошел тест, но был неэффективен, я думаю, […]