Bonjour à tous !
J'ai besoin de votre aide cher(e)s devs pour optimiser mon application développée sur WinDev et déployée en mode "archive java" sur un Raspberry pi 3 qui pour le moment a pour OS Raspbian 2.0 (avec la nouvelle interface graphique PIXEL ).
Cette appli a juste pour but de lire des données provenant d'une base MySQl (en général située sur un autre poste), de remplir deux combos à partir de ces données et ensuite de pouvoir valider celles-ci avec un bouton. Il y a donc difficilement plus simple
Tout a fonctionné sur mon "appli-test": Le lancement de l'appli Java, lecture du ficier Ini, connexion à MySQL, lecture et écriture des données.
Les problèmes sont apparus lorsque j'ai voulu créer l'appli finale:
- D'abord, j'ai lancé la lecture du fichier INI, la connexion à la BDD et le remplissage des combos à l'initialisation de la fenêtre. Ces tâches effectuées "seules" sur l'appli-test sont quasi-instantanées, or lancement de l'appli finale met une quarantaine de secondes. Je ne vois donc pas comment améliorer cela. Peut-être trop de ressources demandées au démarrage ? Pourtant le CPU du Raspberry ne tourne qu'à 25% et la mémoire vive à 18%...
- Le deuxième problème apparaît lorsque je clique sur une des combos pour la dérouler. Là l'appli se bloque et met encore 30 à 50 secondes avant que la combo ne soit affichée. Pendant ce temps, la CPU est encore à 25% et la RAM occupée augmente doucement jusqu'à 20%. Et rebelote lorsque je clique sur la seconde combo... ce qui n'est pas du tout présentable pour un projet industriel.
Après ces attentes interminables, l'appli fonctionne à merveille: Ouverture, navigation et fermeture des combos très fluide, requête d'écriture instantanément successful.
Autres infos, qui pourraient peut être aider...
Pour chaque combo, une centaine de lignes est affichée. c'est peut-être trop ?
La connexion à MySQL est très rapide sur l'"appli test", qu'elle soit locale ou sur le poste distant
La version de Raspbian est belle graphiquement, mais es ce que ça ne "freinerait" pas un peu certaines applications ? Personnellement je ne pense pas.
Pour me connecter à la base, j'utilise le code suivant:
La connexion passe donc par le JDBC (Connector-J) permettant de faire dialoguer Java avec MySQL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SQLConnecte("jdbc:mysql://" + gsAdresseServeur + "/" + gsmabase, gslogin, gsmotdepasse, "", "JDBC", "com.mysql.jdbc.Driver")
Auriez-vous des idées, suppositions pour optimiser tout ça ?
J'espère avoir assez détaillé le problème.
Merci mille fois d'avance !
Partager