Ebben a fórumtémában már valamennyire körbe lett járva a dolog, de az még d6-ra vonatkozott, nekem meg a d7-tel gyűlt meg a bajom.
Adott egy dedikált szerver: 8 magos, 3,2 GHz-es processzor, 16 GB memória, 1 TB háttér, apache, mysql.
Ez szolgálja ki a következőket:
- kb 50 egyedi drupal oldal
- 4 db domain access-es oldal (multisite), amik 20-50 oldalt szolgálnak ki egyenként, amiből az egyik viszonylag nagy látogatással bír, napi 3500-6000 látogatás. A többi oldal néhány 10-től néhány 100 látogatás/nap.
A problémák:
Az egyik gond a nagy látogatószámú multisite-tal van, ott is a taxonomy query-kel, mert azok irtózatosan lassúak, és ahogy egyre több fut belőlük, egyre lassabbak lesznek, míg végül néha teljesen behal a szerver.
Amit használok: Boost modul, Entity cache, Taxonomy Entity index és ahol lehet a views content cache-t. A Views Content cache jó is lett volna, ha nem keverte volna össze az egyes aldomainek tartalmát, de mivel összekeverte, ki kellett kapcsolni. (Ugyanez volt az eredmény a views time based cache per domain-nel is sajnos.)
(Sőt a boost modul sem mindig dolgozik rendesen a multisite-os környezetben, de ezt külön fórumtémában megírom.)
Aztán kipróbáltam a Shadow modult, de sehogyan sem tudtam életre kelteni multisite-os környezetben, pedig az elvileg tudna segíteni a slow query problémán.
Kérdeztem a rendszergazdát, hogy a Memcached, APC segíthet-e, ő azt mondta, hogy szerinte nem, mert az nem SQL oldali, hanem php oldali, így a slow query-n nem fog segíteni.
Jelenleg itt állok és tanácsot kérek tőletek, hogy melyik irányba induljak el!
A kétféle lassú query (az egyik a tartalmakat állítja össze, a másik pedig a lapozót):
Query_time: 10.743357 Lock_time: 0.000138 Rows_sent: 3 Rows_examined: 241247
SELECT field_data_field_cat_prio.field_cat_prio_value AS field_data_field_cat_prio_field_cat_prio_value, field_data_field_region_priotity.field_region_priotity_value AS field_data_field_region_priotity_field_region_priotity_value, field_data_field_priority.field_priority_value AS field_data_field_priority_field_priority_value, node.nid AS nid FROM node node LEFT JOIN field_data_field_cat_prio field_data_field_cat_prio ON node.nid = field_data_field_cat_prio.entity_id AND (field_data_field_cat_prio.entity_type = 'node' AND field_data_field_cat_prio.deleted = '0') LEFT JOIN field_data_field_region_priotity field_data_field_region_priotity ON node.nid = field_data_field_region_priotity.entity_id AND (field_data_field_region_priotity.entity_type = 'node' AND field_data_field_region_priotity.deleted = '0') LEFT JOIN field_data_field_priority field_data_field_priority ON node.nid = field_data_field_priority.entity_id AND (field_data_field_priority.entity_type = 'node' AND field_data_field_priority.deleted = '0') WHERE (( (node.status = 1 OR (node.uid = 0 AND 0 <> 0 AND 0 = 1) OR 0 = 1) AND (node.nid IN (SELECT tn.nid AS nid FROM taxonomy_index tn WHERE ( (tn.tid = '12322') OR (th1.tid = '12322') ))) ))AND ( EXISTS (SELECT na.nid AS nid FROM node_access na WHERE (( (na.gid = '0') AND (na.realm = 'all') )OR( (na.gid = '0') AND (na.realm = 'domain_site') )OR( (na.gid = '0') AND (na.realm = 'domain_id') ))AND (na.grant_view >= '1') AND (node.nid = na.nid) )) ORDER BY field_data_field_cat_prio_field_cat_prio_value ASC, field_data_field_region_priotity_field_region_priotity_value ASC, field_data_field_priority_field_priority_value ASC LIMIT 10 OFFSET 0;
... és a másik
# Query_time: 16.304187 Lock_time: 0.000098 Rows_sent: 1 Rows_examined: 0
FROM (SELECT DISTINCT field_data_field_cat_prio.field_cat_prio_value AS field_data_field_cat_prio_field_cat_prio_value, field_data_field_region_priotity.field_region_priotity_value AS field_data_field_region_priotity_field_region_priotity_value, field_data_field_priority.field_priority_value AS field_data_field_priority_field_priority_value, node.nid AS nid, 1 AS expression FROM node node LEFT JOIN field_data_field_cat_prio field_data_field_cat_prio ON node.nid = field_data_field_cat_prio.entity_id AND (field_data_field_cat_prio.entity_type = 'node' AND field_data_field_cat_prio.deleted = '0') LEFT JOIN field_data_field_region_priotity field_data_field_region_priotity ON node.nid = field_data_field_region_priotity.entity_id AND (field_data_field_region_priotity.entity_type = 'node' AND field_data_field_region_priotity.deleted = '0') LEFT JOIN field_data_field_priority field_data_field_priority ON node.nid = field_data_field_priority.entity_id AND (field_data_field_priority.entity_type = 'node' AND field_data_field_priority.deleted = '0') WHERE (( (node.status = 1 OR (node.uid = 0 AND 0 <> 0 AND 0 = 1) OR 0 = 1) AND (node.nid IN (SELECT tn.nid AS nid FROM taxonomy_index tn WHERE ( (tn.tid = '8070') OR (th1.tid = '8070') ))) ))AND(( (na.gid = '0') AND (na.realm = 'all') )OR( (na.gid = '0') AND (na.realm = 'domain_site') )OR( (na.gid = '67') AND (na.realm = 'domain_id') ))AND (na.grant_view >= '1') ) subquery;
Régebben indított téma, de
Régebben indított téma, de van némi update-em ezzel kapcsolatban:
Egyelőre ennyi.
Gazsesz