Мне вот хорошо понятна разница OVZ/Virtuozzo против KVM, но кто мне скажет, в чём принципиальная разница KVM vs XEN? Каковы их самые главные отличия?
Попробовал смоделировать задачу, используя возможности WP Types (parent CPT + children CPT's) и плагин кеширования W3 Total Cache.
Результат противоречивый. Количество запросов к базе в момент создания/обновления кэша равняются 36 штук + 2 штуки за каждый выведенный на странице CPT "модель авто". При 300 штуках этих CPT получается нехило. :)
Количество запросов, используя кешированную копию - 11 штук, не зависимо от кол-ва CPT на странице. Что, собственно, предсказуемо.
Неприятная особенность в связке Types и W3TC - жуткий тупняк в админке ВП, когда на странице "родителя" (CTP "модель двигателя") обновляешь данные нескольких "детишек" (CPT "модель авто"). Может виснуть и на минуту-полторы. Если отключаешь W3TC, то всё работает шустро...
Вопрос: 650 запросов к БД - это очень много? :D Таких страниц на сайте будет всего 2-3... Главное, чтобы не ложился сервер в момент обновления кэша. :)
VPS-ка (KVM) c одним ядром Xeon'a на 3 ГГц, 1ГБ RAM и SSD диском. :)---------- Добавлено 06.09.2013 в 15:09 ----------
Очень хочется без Крона обойтись...
Та ну... это же не маленькая конторка, а гигант.
Зато:
1. Спама меньше.
2. Удобно.
3. Красиво.
4. Безлимитно.
5. Убирает лишнюю нагрузку на ваш сервер (не, не прав?).
Не закешируется каким-нибудь W3 Total Cache? :)
Я не могу использовать each, так как на страницах манипулирую (куча разного php кода) данными и выводом в зависимости от содержания meta_value в том или ином meta_key.
Иначе мне и не надо было бы иметь столько разных CPF - всё запихнул бы в text_area, да и всё... :)
Дык, while есть тот же перебор, но с параметром.
Запрос к базе один, но выполнение ресурсоёмкое. Не? :)
Я сам PHP только недавно стал изучать - нуб пока. :)
Дружу. Даже предпочитаю на нём гуглить и изучать php, js и т.д. ;)
Тут не просто найти - надо допереть и понять самому, как оно происходит. Но, вроде, из того, что я понял, читая про ВП, Loop не нагружает БД уймой запросов.
Надо будет ещё почитать на эту тему.
Я тоже так думал, пока не стал этот плагин юзать - очень удобная и стабильная штука оказалась. Она не урезает и не скрывает функционал CPT/CPF. Всё есть - не надо дополнительно кодить.
И вот эти "связи" разных CPT - клёвая штука, о существовании которой я только сейчас узнал.
Оно решает мою проблему, не заставляя даже кодить! О_о---------- Добавлено 05.09.2013 в 19:25 ----------Сейчас я с помощью этого плагина (Types) попробовал сделать связь CPT "модель двигателя" и CPT "модель авто", где первый является "родителем" (так как к нему должно "относиться" много разных моделей авто), а второй "ребёнком".
Настроил так, что те самые часто меняющиеся CPF принадлежат "родителю", но они также выводятся на страницах редактирования "детей".
На страницах редактирования "родителя" появляется весь список "детей" и эти поля для быстрого редактирования. Удобно!
Единственное, что не нравится, надо править поля для каждого "ребёнка" - они не берут изначально данные "родителя"...
Пользуясь случаем спрошу: а никто не использует DNS Яндекса?
Я вот уже как год юзаю - всё отлично. Почта, в добавок, удобная...
Может я не знаю каких-то скрытых нехороших нюансов? :)
musulman, DPF - удобный менеджер.
С его помощью можно манипулировать баннерами (к примеру, меняя большой на малый и наоборот) в зависимости от условий заданных, но резиновых баннеров у АдСенса как не было, так и нет.
Вообще, удивительно, что их нет - дурость со стороны Гугла, учитывая современные реалии, где мобильный интернет прогрессирует с невероятной скоростью...---------- Добавлено 05.09.2013 в 16:53 ----------
Инфы много - на инглише.
Часто юзаемая фишка этого "сервиса" - ротация объявлений. Можно тупо не показывать дешевые, пуская на их место другие системы рекламы или просто свои баннеры.
То есть, ты думаешь, что код такого вида создаст здоровенную кучу запросов и нагрузку? WP Loop (всего постов 300 штук):
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> $var1 = get_post_meta( get_the_ID(), 'custom_filed1', true); $var2 = get_post_meta( get_the_ID(), 'custom_filed2', true); // ещё 30-40 штук разных <div><?php echo $var1 ?></div> <div><?php echo $var2 ?></div> // ещё echo все 30-40 штук <?php endwhile; endif;?>
Нет-нет, там всё в одном вордпрессовском Loop'е, поэтому запросов много нет - насколько я знаю, оно штатно кэшируется.
Поправьте, если я не прав.
Полезная штуковина! Добавил её в закладки, чтобы не потерять. ;)
И, мне кажется, я вижу решение моей проблемы. Решение простое и легко реализуемое.
Итак, мне надо было 3-4 штуки CPF из одних CPT использовать на страницах с выводом инфы с других CPT. Дублировать и ручками корректировать везде и вся - плохо. Иметь только в одних CPT, но выводить с другими - нехилая нагрузка БД и опять плохо. :)
Решение:
Эти 3-4 нужных CPF будут в CPT "двигатель авто", и будут редактироваться там же. Но, воспользовавшись встроенной возможностью WP перформить что-то каждый раз, когда происходит сохранение "поста, эти же CPF мы будем дублировать (да-да, именно дублировать) во все нужные CPT "модели авто"!
Заполнил/изменил значения в CPT "модель двигателя", нажал кнопку "Сохранить", и запустилась функция, лупящая по БД, которая ищет в каждом CPT "модель авто" meta_key с именем "установленная модель двигателя" и если его meta_value совпадает с title только что сохраненного CPT "модель двигателя", создаёт дубликаты этих нужных 3-4-х CPF и/или меняет их значения, если они отсутствуют или отличаются.
И здесь большое спасибо ivan-lev, за пост номер 9 в этой теме, где он дал ссылку сюда.
Что скажете, друзья?
Как по мне - решение неплохое. Нагрузка на БД будет только в моменты сохранения постов, что приемлемо.
Вывод CPF'ов на страницах будет происходить стандартным способом WP - используя get_post_meta( get_the_ID(), ... );.