Назад |
Перейти на главную страницу
Производительность однопоточного процессора с PHP
У меня есть ламповый веб-сервер, на котором запущен веб-сайт, функции которого сильно раздуваются. У меня есть несколько страниц, которым на рендеринг PHP требуется 2-3 секунды процессорного времени. Большинство других страниц обрабатываются примерно за 0,2 секунды.
Я оптимизировал вызовы БД и использую SSD-диски, но на данный момент приложение оптимизировано настолько, насколько я могу его получить.
Подумал немного надуть, модернизируя процессоры. Проблема в том, что процессоры 2016 года только примерно на 30% быстрее в однопоточном режиме, чем мои процессоры 2011 года.
Правильно ли я, что процессор с такой же скоростью одного потока не будет быстрее при загрузке отдельной страницы? Я понимаю, что он сможет лучше справляться с одновременной загрузкой страниц, но на данный момент это не проблема.
Любой вклад будет оценен.
Я не думаю, что более быстрые процессоры производят более 10-20% реальной производительности.
Мои предложения:
- Оптимизация кода, вероятно, имеет наибольший смысл. Для этого может понадобиться разработчик, который сможет сократить количество обращений к базе данных, сократить общую выполняемую работу или просто оптимизировать ее.
- Помещение в кеш страницы, если страница не настроена для каждого пользователя. Nginx отлично подходит для этого, и он может либо стоять перед вашим текущим веб-сервером, либо заменять его. Кэширование, вероятно, является самым быстрым и лучшим решением, если каждая страница не настраивается для каждого пользователя. Даже кеширование на 30 секунд может помочь.
- Добавьте CDN, который не поможет времени генерации страницы, но может помочь загрузить другие ресурсы и ускорить процесс. Для этого очень важна установка кэширующих головок. CloudFlare, например, имеет бесплатный уровень.
- Попробуйте HHVM вместо обычного PHP - он может быть значительно быстрее PHP5. Он написан facebook, и не все PHP-приложения работают с ним, но Wordpress и пара, которую я пробовал, работают.