web-dev-qa-db-fra.com

Réduire l'utilisation du processeur et de la base de données dans wordpress

j'ai créé une interface intelligente WP basée sur laquelle nous utilisons pour gérer les clients.
il utilise beaucoup d'informations et de données chaque fois qu'un client est retourné/visualisé.

c'est une interface verrouillée et n'a pas de pics de trafic

au cours du dernier mois, j'ai constaté d'importants pics d'utilisation de la mémoire et du processeur,
J'ai installé la barre de débogage et ouvert toutes les options.

Ce que je vois, c’est que chaque fois que wordpress inclut wp-header-blog
et template-loader (ou est-ce que je me trompe?) - puis-je les déclarer une fois?

Voici un exemple tiré de l'onglet Requêtes de la barre de débogage

'clientsocialurls'
require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/sagive-manager/category.php'), include('/themes/sagive-manager/tabs/tab-siteinfo.php'), get_page_by_title #47 (14.4ms)
SELECT ID FROM armnd_posts WHERE post_title = 'זמנהוף שירותי תרגום' AND post_type= 'cheques'

require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/sagive-manager/category.php'), include('/themes/sagive-manager/tabs/tab-cheques.php'), get_page_by_title #48 (3.9ms)
SELECT armnd_posts.* FROM armnd_posts WHERE 1=1 AND armnd_posts.post_type = 'attachments' AND (armnd_posts.post_status = 'publish') ORDER BY armnd_posts.post_date ASC 

require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/sagive-manager/category.php'), include('/themes/sagive-manager/tabs/tab-attachments.php'), get_posts, WP_Query->query, WP_Query->get_posts #49 (34.7ms)
SELECT post_id, meta_key, meta_value FROM armn_postmeta WHERE post_id IN (2073,2086,2093,2104,2109,2114,2119,2137,2143,2148,2154,2160,2165,2174,2178,2186,2274,2650,2708,3163,3356,3507,3644,3673,3893,3924,4039,4139,4286,4311,4515,4596,4666,4698,4722,4738,4740,4841,4860,4908,5219,5941,6086,6317) ORDER BY meta_id ASC

require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/sagive-manager/category.php'), include('/themes/sagive-manager/tabs/tab-attachments.php'), get_posts, WP_Query->query, WP_Query->get_posts, update_post_caches, update_postmeta_cache, update_meta_cache #50 (9.9ms)
SELECT armnd_posts.* FROM armnd_posts WHERE 1=1 AND armnd_posts.post_parent = 2119 AND armnd_posts.post_type = 'attachment' AND (armnd_posts.post_status = 'inherit') ORDER BY armnd_posts.post_date DESC 

require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), include('/themes/sagive-manager/category.php'), include('/themes/sagive-manager/tabs/tab-attachments.php'), get_posts, WP_Query->query, WP_Query->get_posts

Est-ce que cela signifie que wordpress charge les deux fichiers chaque fois qu'une requête est appelée?
Puis-je les "déclarer" une fois pour minimiser l'utilisation de la mémoire et le temps de chargement?

suis-je complètement à côté du but et peux-tu partager quelques conseils pour réduire les effectifs
L’utilisation du processeur et de la mémoire si c’est un plug-in de cache impossible à utiliser.

1
Sagive SEO

Sagive,

  1. wp-blog-header.php chargé dans le index.php à chaque demande de page. AJAX appels inclus (si c'est ce que vous voulez dire "heure après heure". Ensuite, il charge template-loader.php.
  2. Cela n'a rien à voir avec les SQL que vous voyez, ni avec les "pointes".
  3. Installez le plug-in Query Monitor pour mieux visualiser vos instructions SQL dans la barre de débogage.
  4. Ne publiez pas d'informations sensibles ici (comme le nom de votre client dans le premier SQL). :-)
1
tivnet

HTTP est un protocole sans état qui initialisera le système WordPress dans son intégralité chaque fois qu'une requête atteindra une page du serveur. Des scripts tels que wp-blog-header.php, template-loader, etc. sont nécessaires pour initialiser correctement WordPress.

1
Subharanjan