Partage
  • Partager sur Facebook
  • Partager sur Twitter

extraction rapide des rapports

mysql

5 mai 2021 à 10:17:45

Bonjour a tous,

je fais fasse depuis l'année dernière a un sérieux problème et je pus vous dire que les clients de ma plateforme commence vraiment a s'impatienter. j'ai besoin de vos conseils. en effet, je gère une plateforme de géolocalisation depuis 3 ans et j'ai des soucis avec la génération des rapports. la generation des rapports est lente !! les clients se plaignent du fait que les rapports ne sortent pas vite et parfois,ils ne sortent pas du tout. en espérant être dans le bon forum, je souhaiterai remédier a cette situation. j’utilise en backend PHP, en frontend javascript,html5, CSS3,etc..

je pense a la Business intelligence mais je doute.

merci

  • Partager sur Facebook
  • Partager sur Twitter
A Vaincre sans péril on finit par triompher sans gloire  ->  le Cid de corneille
5 mai 2021 à 13:21:58

Bonjour,

Il faudrait nous en dire plus ...

Comment sont générés les rapports en question ?

Avec quelle technologie/langage/librairie ?

Dans quel format ?

Il s'appuie sur des requêtes SQL ?

Où se situe la lenteur, à quel moment ?

Déplacement vers un forum plus approprié

Le sujet est déplacé de la section Base de données vers la section Discussions développement

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
6 mai 2021 à 13:02:45

Comment sont générés les rapports en question ? a partir d'une interface web. le client envoi un certain nombre de paramètre au serveur serveur et le serveur effectue une requête a la base de données et retourne les données sélectionnées au client selon le format désiré.

Avec quelle technologie/langage/librairie ? PHP, WKHTMLtoPDF,mysql

Dans quel format ? pdf, html, xls.

Il s'appuie sur des requêtes SQL ? oui.

Où se situe la lenteur, à quel moment ? je sais pas. je pense que c'est côté serveur. au niveau du PHP. je pense que c'est quand PHP recupere les données dans la BD et les traite.

par exemple, si un client extrait les états d'un mois ou plus d'un véhicule, ceux-ci ne sortiront pas.

merci.

-
Edité par Benzouye 6 mai 2021 à 18:22:32

  • Partager sur Facebook
  • Partager sur Twitter
A Vaincre sans péril on finit par triompher sans gloire  ->  le Cid de corneille
6 mai 2021 à 13:34:15

Il faut arriver à comprendre où cela rame ... Par exemple en mettant des timers en place (en test, pas en prod) à certains endroit du code pour identifier la partie qui pose problème ...

Notamment avant le lancement de la conversion PDF et après ...

Je ne connais pas WKHTMLtoPDF, c'est du C non ? Tu appeles la commande via PHP ?

Après il faut se plonger dans ton code pour trouver où cela ne va pas ...

De mon côté j'ai une application qui génère des PDF de 450 pages (FPDF), ou des fichiers Excel avec 10 onglets et 25 000 lignes (PHPOffice), et je n'ai jamais eu de souci ...

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
6 mai 2021 à 13:41:14

waouh!!!  il faut vraiment que tu m'aides !!! je vais te donner les infos que tu veux mais ib. je veux tu comprennes mon problème. penses-tu pouvoir m'assister ?

merci

-
Edité par Benzouye 6 mai 2021 à 18:22:21

  • Partager sur Facebook
  • Partager sur Twitter
A Vaincre sans péril on finit par triompher sans gloire  ->  le Cid de corneille
6 mai 2021 à 18:22:04

Je veux bien essayer de t'aider mais je n'aurais sûrement pas le temps d'approfondir dans le code ...

De ce que j'ai lu, WKHTMLtoPDF part d'un code HTML et génère un fichier PDF correspondant. Si tu lances manuellement ta commande pour un HTML qui plante en production, est-ce que ça plante aussi ?

Par ailleurs, tu peux essayer d'activer l'affichage des erreurs du serveur PHP et regarder si ce n'est pas un timeout serveur qui intervient avant la fin de la génération du PDF, ce qui pourrait se régler en jouant sur max_execution_time ...

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
7 mai 2021 à 10:25:27

Benzouye a écrit:

Je veux bien essayer de t'aider mais je n'aurais sûrement pas le temps d'approfondir dans le code ...

De ce que j'ai lu, WKHTMLtoPDF part d'un code HTML et génère un fichier PDF correspondant. Si tu lances manuellement ta commande pour un HTML qui plante en production, est-ce que ça plante aussi ?

Par ailleurs, tu peux essayer d'activer l'affichage des erreurs du serveur PHP et regarder si ce n'est pas un timeout serveur qui intervient avant la fin de la génération du PDF, ce qui pourrait se régler en jouant sur max_execution_time ...


Bonjour,

la conversion des rapports en PDF n'a aucun problème. mon souci c'est la rapidité lors de la génération. dit moi quand tu pourras être disponible pour qu'on regarde mon code ensemble. j'utilise un EDI web. je peux te présenter les choses directement en production.

merci.

  • Partager sur Facebook
  • Partager sur Twitter
A Vaincre sans péril on finit par triompher sans gloire  ->  le Cid de corneille
7 mai 2021 à 12:50:46

Au-delà de la rapidité, tu dis qu'il arrive que le requête n'aboutissent pas du tout ... d'où l'évocation du max_execution_time ...

Concernant la rapidité, c'est la librairie C qui met du temps ? ou c'est la page HTML à convertir qui est longue à construire ?

On parle de quelle taille de fichier à générer ? nombre de pages, type de contenu, etc.

Je ne peux pas mettre le nez dans ton code, je n'aurais pas le temps de m'y consacrer ... Il faut vraiment déterminer qu'est-ce qui dure longtemps ...

Par exemple, génère le code HTML d'un des rapports qui n'aboutit pas aujourd'hui. Regarde combien de temps tu mets à générer ce code HTML.

Puis enregistre ce code HTML et passe le dans ta librairie C. Regarde combien de temps cela met pour convertir en PDF.

Cela te donnera déjà une idée si le problème est dans la librairie C ou dans ton code PHP ...

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
7 mai 2021 à 14:04:35

Benzouye a écrit:

Au-delà de la rapidité, tu dis qu'il arrive que le requête n'aboutissent pas du tout ... d'où l'évocation du max_execution_time ...

Concernant la rapidité, c'est la librairie C qui met du temps ? ou c'est la page HTML à convertir qui est longue à construire ?

On parle de quelle taille de fichier à générer ? nombre de pages, type de contenu, etc.

Je ne peux pas mettre le nez dans ton code, je n'aurais pas le temps de m'y consacrer ... Il faut vraiment déterminer qu'est-ce qui dure longtemps ...

Par exemple, génère le code HTML d'un des rapports qui n'aboutit pas aujourd'hui. Regarde combien de temps tu mets à générer ce code HTML.

Puis enregistre ce code HTML et passe le dans ta librairie C. Regarde combien de temps cela met pour convertir en PDF.

Cela te donnera déjà une idée si le problème est dans la librairie C ou dans ton code PHP ...


bonjour.

je vais essayer ce que tu as dit et revenir vers toi.

merci.

  • Partager sur Facebook
  • Partager sur Twitter
A Vaincre sans péril on finit par triompher sans gloire  ->  le Cid de corneille