6
votes

Consultateur: Profilage et performance

Je suis nouveau au développement de l'application et à CI dans son ensemble, j'ai donc une manipulation de questions.

Qu'est-ce que le profilage? Comment est-ce utilisé? Comment ça marche? Ce qui est considéré comme un "long" temps?

Plus important encore,

Comment puis-je l'utiliser pour améliorer les performances?

la raison pour laquelle je demande est B / C mon application est vraiment lenteuse en ce moment.


5 commentaires

J'ai, mais je ne comprends pas l'analyse comparative.


Est-ce que lâche dans un environnement de serveur ou localement? Si c'est sur un serveur, quelle sorte d'environnement êtes-vous? Toutes les pages sont-elles lentes ou est-ce juste une poignée qui causent des problèmes?


Ce pourrait être mon environnement de serveur ... mais je ne peux pas être sûr. C'est l'hébergement partagé (médiatemple). Certaines pages sont bien plus lentes que d'autres. Je ne sais tout simplement pas comment en savoir!


Je serais curieux ce que d'autres personnes auraient à dire à ce sujet aussi. J'ai un site hébergé sur le service de grille au temple Media qui est également dans le développement. C'est une application basée à Codeigniter et c'est aussi assez lent. J'ai également remarqué que mes sites WordPress sur le même service de temple média sont également assez lents. Ma prochaine étape allait se connecter avec un autre hôte pour tester des performances sur une autre plate-forme.


@Someoneinomaha (Nice Nom Haha). J'ai un site wordpress sur leur GS qui est lent que Noël aussi ...


3 Réponses :


10
votes

Telle devrait devenir claire lorsque vous utilisez le profilage, il est utilisé pour voir à quel point les aspects de la page sont rapides. Placez cette ligne dans le contrôleur principal près du démarrage (par exemple dans le constructeur juste après avoir appelé le constructeur du parent:

$ ceci-> sortie-> activer_profiler (true);

Ceci imprimera beaucoup d'informations de profilage au bas de votre page résultante. Cela inclura toutes les requêtes de base de données, la durée de la vie et de la durée de la durée des contrôleurs (Time PHP par opposition au temps de la base de données).

Si quelque chose est lent, commencez en activant le profileur et en vérifiant si c'est le contrôleur ou les requêtes (ou les deux). Si ce sont les questions de base de données, vous devez les améliorer et c'est un sujet entier en soi. Si ce sont les contrôleurs, vous devez savoir quel code est spécifiquement causé le ralentissement.

avoir une lecture de https://www.codeigniter.com/user_guide/libries/benchmark.html et commencez à placer Les étiquettes de départ et d'arrêt de l'analyse comparative où vous pensez que cela risque de causer des vitesses lentes, des boucles et des fonctions récursives sont les premiers endroits que vous devriez vérifier. Une fois que vous avez trouvé un segment lent de code, vous devez trouver comment optmiser, ce qui est à nouveau une boîte de vers de vers à elle seule.

Il est possible que des vitesses lentes soient dues à un mauvais matériel, un serveur chargé, une connexion lente ou une tonne d'autres problèmes, celles-ci extérieures à la portée de cette question.

EDIT: Je veux juste ajouter que vous n'utilisez pas la fonctionnalité de profileur ou d'analyse comparative de CI pour améliorer la vitesse, seulement pour déterminer où la vitesse doit être améliorée. Je sais que c'est une chose mineure, mais je pensais juste que je devrais le pointer.


1 commentaires

J'ai appliqué une frappe sur le mort de mort. Si vous avez un lien de travail, veuillez éditer votre réponse.



9
votes

Dans le réglage de la performance, la ligne finale est combien de temps le programme prend-il, dans l'heure murale, pour terminer la tâche donnée . Je sais que cela ressemble à duh , mais c'est le concept que tout le monde peut être d'accord.

Il existe une conviction très fermement que pour trouver le code que vous pouvez optimiser de manière fructueuse pour accélérer le programme, vous le faites mon la durée de mesure prise par diverses fonctions et comptant combien de fois ils sont appelés < / em>.

Même des ingénieurs matériels, qui j'aurais pensé que je pensais savoir mieux, ont offert de me fournir une belle minuterie et des croustilles, quand ils construisaient un conseil d'administration que j'essayais de programmer, pensant que cela m'aiderait à régler le logiciel. .

Non merci, je leur ai dit. Tout ce dont j'ai besoin, c'est un moyen de Arrêter-le au hasard et de demander ce que diable est-ce que ça fait et pourquoi le fait-il . C'est l'approche goutte à une approche de manière abandonnée. Si je le fais plusieurs fois, et une bonne partie du temps est passée moins que de manière productive, la chance que je ne l'attraperai pas est essentiellement nulle.

Voici plus sur le sujet.


0 commentaires

0
votes

0 commentaires