phpfox v3 оптимизация производительности: Xcache, APC, Memcached или кэш-файл
Получение максимальной производительности на сайте это всегда выполнение сценария в реальном времени, особенно когда у вас есть сотни пользователей. Как уже упоминалось в нашей предыдущей статье, вы теряете потенциальных пользователей на сайте, если он не загружается за несколько секунд и очень медленно работает. Мы всегда стараемся, получить максимальную производительность сайта, применяя тонкую настройку конфигурации аппаратных ресурсов, платформы приложения и запросов к базе данных.
В этой статье мы будем говорить о системах кэширования для платформы phpfox v3 и использование этих решений на постоянной пользовательской нагрузке. Мы использовали инструмент тестирования Apache для этой цели и результаты оказались интересными.
Для этого теста мы выполнили 1000 запросов на главной странице сайта с 10 одновременными пользователями.
Для целей тестирования, мы сохранили настройки для Apache веб-сервера и MySQL по умолчанию, поэтому результат может быть различным в случае, если эти ресурсы оптимизированы. Результат может также варьироваться в зависимости от содержания сайта.
В тестах используется VPS от компании Макхост:
Операционная система: 2.6.35.14-106.53.amzn1.x86_64
Веб-сервер: Apache/2.2.21 (Unix)
PHP: PHP 5.3.10
Процессор: Intel (R) Xeon (R) CPU E5430@2.66GHz
Оперативная память: 8ГБ
Результаты тестов:
Memcached,
APC
XCache
Обычная PHP
Заключение
Согласно нашему тесту, APC и Xcache обеспечивают более высокий прирост производительности в phpfox v3, чем Memcached/Simple File Cache на одной машине. APC лучше на ~5%, чем Xcache, ~ 25% лучше, чем Memcached и ~ 90% лучше, чем ничего. Поэтому мы считаем, лучше использовать APC или Xcache, чтобы повысить производительность вашей социальной сети на основе phpfox v3. Если ваш phpfox v3 работает на несколько серверов, то вы должны рассмотреть memcached, как решение для кэширования.
В этой статье мы будем говорить о системах кэширования для платформы phpfox v3 и использование этих решений на постоянной пользовательской нагрузке. Мы использовали инструмент тестирования Apache для этой цели и результаты оказались интересными.
Для этого теста мы выполнили 1000 запросов на главной странице сайта с 10 одновременными пользователями.
Для целей тестирования, мы сохранили настройки для Apache веб-сервера и MySQL по умолчанию, поэтому результат может быть различным в случае, если эти ресурсы оптимизированы. Результат может также варьироваться в зависимости от содержания сайта.
В тестах используется VPS от компании Макхост:
Операционная система: 2.6.35.14-106.53.amzn1.x86_64
Веб-сервер: Apache/2.2.21 (Unix)
PHP: PHP 5.3.10
Процессор: Intel (R) Xeon (R) CPU E5430@2.66GHz
Оперативная память: 8ГБ
Результаты тестов:
Memcached,
Concurrency Level: 10
Time taken for tests: 103.594 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 29972124 bytes
HTML transferred: 29559780 bytes
Requests per second: 9.65 [#/sec] (mean)
Time per request: 1035.940 [ms] (mean)
Time per request: 103.594 [ms] (mean, across all concurrent requests)
Transfer rate: 282.54 [Kbytes/sec] received
APC
Concurrency Level: 10
Time taken for tests: 82.830 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 30110000 bytes
HTML transferred: 29696000 bytes
Requests per second: 12.07 [#/sec] (mean)
Time per request: 828.295 [ms] (mean)
Time per request: 82.830 [ms] (mean, across all concurrent requests)
Transfer rate: 355.00 [Kbytes/sec] received
XCache
Concurrency Level: 10
Time taken for tests: 86.303 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 30110000 bytes
HTML transferred: 29696000 bytes
Requests per second: 11.59 [#/sec] (mean)
Time per request: 863.026 [ms] (mean)
Time per request: 86.303 [ms] (mean, across all concurrent requests)
Transfer rate: 340.71 [Kbytes/sec] received
Обычная PHP
Concurrency Level: 10
Time taken for tests: 157.491 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 30110000 bytes
HTML transferred: 29696000 bytes
Requests per second: 6.35 [#/sec] (mean)
Time per request: 1574.913 [ms] (mean)
Time per request: 157.491 [ms] (mean, across all concurrent requests)
Transfer rate: 186.70 [Kbytes/sec] received
Заключение
Согласно нашему тесту, APC и Xcache обеспечивают более высокий прирост производительности в phpfox v3, чем Memcached/Simple File Cache на одной машине. APC лучше на ~5%, чем Xcache, ~ 25% лучше, чем Memcached и ~ 90% лучше, чем ничего. Поэтому мы считаем, лучше использовать APC или Xcache, чтобы повысить производительность вашей социальной сети на основе phpfox v3. Если ваш phpfox v3 работает на несколько серверов, то вы должны рассмотреть memcached, как решение для кэширования.