Jovian

Рейтинг
78
Регистрация
21.08.2011

Мне вот хорошо понятна разница 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 ----------

Bitman:
А по кешированию: я бы в базе хранил и по крону скриптом пересчитывал все комбинации тех самых 3-4 CPF из модели ДВС для всех моделей авто. Там получается около 3000х4 комбинаций - на минуту другую надо сайт останавливать.

Очень хочется без Крона обойтись...

Den73:
не секьюрно почту держать на стороне

Та ну... это же не маленькая конторка, а гигант.

Зато:

1. Спама меньше.

2. Удобно.

3. Красиво.

4. Безлимитно.

5. Убирает лишнюю нагрузку на ваш сервер (не, не прав?).

SeVlad:
В данном случае не о том переборе речь
Я имел ввиду

Не закешируется каким-нибудь W3 Total Cache? :)

Я не могу использовать each, так как на страницах манипулирую (куча разного php кода) данными и выводом в зависимости от содержания meta_value в том или ином meta_key.

Иначе мне и не надо было бы иметь столько разных CPF - всё запихнул бы в text_area, да и всё... :)

SeVlad:
Так как ты написал - наверное ещё больше, чем если сделать правильно - перебором массива (через foreach например)

Дык, while есть тот же перебор, но с параметром.

Запрос к базе один, но выполнение ресурсоёмкое. Не? :)

Я сам PHP только недавно стал изучать - нуб пока. :)

SeVlad:
Ты же, как я погляжу, с английским дружишь

Дружу. Даже предпочитаю на нём гуглить и изучать php, js и т.д. ;)

SeVlad:
думаю сможешь найти эту инфу и поделиться с народом

Тут не просто найти - надо допереть и понять самому, как оно происходит. Но, вроде, из того, что я понял, читая про ВП, Loop не нагружает БД уймой запросов.

Надо будет ещё почитать на эту тему.

SeVlad:
На реальных сайтах всё же лучше чуток заморочится и вручную прописать.

Я тоже так думал, пока не стал этот плагин юзать - очень удобная и стабильная штука оказалась. Она не урезает и не скрывает функционал CPT/CPF. Всё есть - не надо дополнительно кодить.

И вот эти "связи" разных CPT - клёвая штука, о существовании которой я только сейчас узнал.

Оно решает мою проблему, не заставляя даже кодить! О_о

---------- Добавлено 05.09.2013 в 19:25 ----------

Сейчас я с помощью этого плагина (Types) попробовал сделать связь CPT "модель двигателя" и CPT "модель авто", где первый является "родителем" (так как к нему должно "относиться" много разных моделей авто), а второй "ребёнком".

Настроил так, что те самые часто меняющиеся CPF принадлежат "родителю", но они также выводятся на страницах редактирования "детей".

На страницах редактирования "родителя" появляется весь список "детей" и эти поля для быстрого редактирования. Удобно!

Единственное, что не нравится, надо править поля для каждого "ребёнка" - они не берут изначально данные "родителя"...

Пользуясь случаем спрошу: а никто не использует DNS Яндекса?

Я вот уже как год юзаю - всё отлично. Почта, в добавок, удобная...

Может я не знаю каких-то скрытых нехороших нюансов? :)

musulman, DPF - удобный менеджер.

С его помощью можно манипулировать баннерами (к примеру, меняя большой на малый и наоборот) в зависимости от условий заданных, но резиновых баннеров у АдСенса как не было, так и нет.

Вообще, удивительно, что их нет - дурость со стороны Гугла, учитывая современные реалии, где мобильный интернет прогрессирует с невероятной скоростью...

---------- Добавлено 05.09.2013 в 16:53 ----------

musulman:
Да и вообще по ней мало инфы

Инфы много - на инглише.

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

SeVlad:
Могу ошибаться, но по-моему не прав.

То есть, ты думаешь, что код такого вида создаст здоровенную кучу запросов и нагрузку? 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;?>


---------- Добавлено 05.09.2013 в 17:39 ----------

А ещё я случайно нашёл вот такую ОЧЕНЬ интересную штуку...
SeVlad:
Вот основная нагрузка. Ты же хочешь вывести 200-300 постов (СРТ) со "некоторыми" CPF. Т.е. это тысячи запросов.

Нет-нет, там всё в одном вордпрессовском Loop'е, поэтому запросов много нет - насколько я знаю, оно штатно кэшируется.

Поправьте, если я не прав.

SeVlad:
Кстати, парни, свете топика думаю будет полезен и этот пост Тимура.

Полезная штуковина! Добавил её в закладки, чтобы не потерять. ;)

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

Итак, мне надо было 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(), ... );.

Всего: 730