Страницы Caching PHP, Лак, nginx, другой?

Обычно то, что необходимо будет сделать, генерируют сценарии для объектов с помощью Studio управления (или Руководитель предприятия / Query Analyzer на 2000 и ранее), выполняют их, чтобы создать объекты на сервере подготовки и затем использовать Мастер Импорта/Экспорта в Услугах по интеграции (или DTS на 2000 и ранее) для фактической передачи данных целевому серверу.

Вы могли, вероятно, также использовать репликацию моментальных снимков по запросу для продвижения объектов к целевому серверу, хотя внесение изменений схемы после этого потребует отбрасывания публикации или по крайней мере удаления объектов от него.

3
задан 23 January 2015 в 10:37
3 ответа
  • Memcached требует, чтобы ваш код действительно использовал его. Но если вы написали этот код, то это должно быть легко сделать :)
  • Кэширование MySQL работает до некоторой степени. В идеале переходите на SSD-диски, если еще нет.
  • Я никогда не слышал о кэшировании FastCGI. Вы имеете в виду кеширование динамические страницы как статические?

Честно говоря, если бы вы настроили все как можно лучше, я бы подумал об обновлении оборудования. Если у вас есть время, загляните в исследование Facebook, например HipHop ( https://github.com/facebook/hiphop-php/wiki ). Они провели потрясающие исследования и разработки для создания быстро загружаемых динамических страниц.

Удачи!

5
ответ дан 3 December 2019 в 04:49

Будьте осторожны с кешем запросов MySQL - он использует глобальную блокировку, поэтому, когда вы начинаете проявлять слишком большую активность, вы будете периодически видеть взаимоблокировки. Кэш запросов полезен только для запросов, которые точно такие же , и если у вас их много, вы неправильно выполняете кэширование на уровне приложения.

Первый шаг в работе над производительность всегда в профиль; Оптимизация на основе интуиции - действительно хороший способ тратить ваше время.

На работе мы используем Graphite в качестве хранилища данных с модифицированной версией StatsD и ] труба-графит в качестве основных методов отправки данных. Оба эти инструмента упрощают отправку данных, а в Graphite есть множество инструментов анализа.

Например, используя скрипт для нанесения лака из трубы в графит , мы берем всю статистику из varnishstats . Это позволяет нам легко создавать графики попаданий / промахов в Graphite, например:

Varnish hit-percentage graph

Вы можете сделать то же самое с memcached и добавить хуки в свое собственное приложение для записи ... ну, всего и вся!

Вы также могут оказаться полезными инструменты одностраничного анализа, такие как xhprof и YSlow .

Если у вас есть метрики, вы не только знаете, над чем должны работать, но и сами Когда вы закончите, вы сможете оценить улучшение. Всем нравится проверка!

и добавьте ловушки в свое собственное приложение для записи ... ну, всего и вся!

Вы также можете найти полезные инструменты одностраничного анализа, такие как xhprof и YSlow .

] Когда у вас есть показатели, вы не только знаете, над чем следует работать, но и сможете измерить улучшение, когда закончите. Всем нравится проверка!

и добавьте ловушки в свое собственное приложение для записи ... ну, всего и вся!

Вы также можете найти полезные инструменты одностраничного анализа, такие как xhprof и YSlow .

] Когда у вас есть показатели, вы не только знаете, над чем следует работать, но и сможете измерить улучшение, когда закончите. Всем нравится проверка!

3
ответ дан 3 December 2019 в 04:49

когда вам не нужны специальные функции от varnish, вы мог отбросить его и использовать fastcgi_cache nginx. но будьте осторожны, в отличие от proxy_cache у вас может быть только 1 cache_zone во всей вашей настройке.

возможно, ваша настройка немного переоптимизирована ... я бы подумал, использовать ли только nginx или только лак.

Когда дело доходит до кэша памяти: в зависимости от того, сколько запросов в секунду у вас есть, memc может быть настоящим стимулом, но, возможно, не обязательно в вашем случае. когда у вас есть хороший внешний кеш, вам не нужно включать memcache, но YMMV. что я понимаю: вы доставляете страницы, которые не меняются часто, верно?

Я всегда старался оптимизировать их следующим образом:

  1. старайтесь избегать запросов, на которые отвечает ваш стек приложения -> перехватывать запросы кешем frontenend (nginx / varnish) и статическим сервером, где возможно
  2. если php, используйте кеш-код операции, такой как APC
  3. , настройте свой db
  4. контролировать вашу систему (load, mem, ram, netio, hdio, netconns, netconns: http, site_stats)
  5. повторная настройка
3
ответ дан 3 December 2019 в 04:49

Теги

Похожие вопросы