web-dev-qa-db-fra.com

Besoin d'aide pour optimiser le nouveau plugin de compression

Je travaille sur un nouveau plugin de compression gratuit

https://github.com/youjoomla/jcompress

https://github.com/youjoomla/jcompress/archive/master.Zip

et besoin d'aide pour accélérer les choses. Le processus de mise en cache est assez simple,

  • Obtenez tout dans la tête tag
  • Séparez les fichiers css, js, inline css et inline js
  • Tout analyser et minify
  • Remplacez le contenu de la balise principale actuelle par le nouveau contenu mis en cache. (c'est le problème)
  • Vérifiez le journal pour les modifications de fichiers. S'il y a des modifications, supprimez le cache pour cette page et recréez-le.
  • Analyser les pages dans le back-end de l'administrateur pour créer rapidement du cache

Tout fonctionne, les pages numérisées, la compression, le remplacement des chemins d’image css, js et css minify, gzip, je veux dire tout.

Le problème que j'ai avec et il me semble que cela ralentit le rendu est la méthode replaceFiles https://github.com/youjoomla/jcompress/blob/master/jcompress.php#L567

Pour obtenir le contenu de la balise principale. Je dois faire tout cela dans

onAfterRender(){

}

Toutes les méthodes que vous voyez dans le plugin sauf

replaceFiles()

https://github.com/youjoomla/jcompress/blob/master/jcompress.php#L567 et

checkLog()

https://github.com/youjoomla/jcompress/blob/master/jcompress.php#L758

sont tués si le fichier cache existe.

Quelqu'un peut-il prendre une seconde et voir s'il y a quelque chose que je pourrais faire pour accélérer le remplacement du contenu de la tête. Et s'il vous plaît prendre une minute et le tester sur votre serveur.

Chez moi les choses volent. Sur ma vie http://stefanstojanovic.com/jcompress/ Je vois un décalage. Pas de bugs, pas d'erreurs, tous les fichiers en cache créés et servis. J'espère que c'est juste mon serveur mais je ne suis pas sûr.

Voici quelques sites de test supplémentaires http://stefanstojanovic.com/jcompress3/http://stefanstojanovic.com/jcompress2/

Je vois un décalage au premier chargement, par exemple ici http://stefanstojanovic.com/jcompress3/index.php/breadcrumbs

Le chargement suivant est 150% plus rapide. Il est "un peu" logique, car lors du deuxième chargement, css et js proviennent de votre cache, mais cela ne devrait pas être une telle différence.

Toute aide est appréciée.

* Update : En attendant, j'ai réussi à accélérer un peu en ne récupérant que le contenu de la balise head à la place du corps entier, mais je vois toujours le décalage.

Une différence majeure que je vois aussi est entre php 5.3 et 5.4 et plus. Mais toujours pas d'erreurs sur chacun.

5
Dan

Ahhhh! OK, le plugin fonctionne donc parfaitement, mais j’ai utilisé un identifiant d’élément dans le nom du hook pour le fichier en cache. Ainsi, pour 60 éléments de menu, vous obtenez 60 fichiers cachés et js où ils ne sont pas nécessaires.

Changer le nom du hook pour simplement compter les octets de tableaux éclatés de fichiers css ou js et ainsi déterminer s'il y a une différence, fait voler ce plugin!

3
Dan