Optimisation du trafic utilisateur
Vous pouvez optimiser le trafic si vous avez de nombreux utilisateurs Tableau Server actifs et peu de sources de données publiées nécessitant des actualisations d’extrait.
Remarque : cette rubrique utilise l’exemple de classeur des performances provenant de la section sur la surveillance. Pour plus d’informations, consultez Analyser des données avec l’exemple de classeur des performances.
Dans quels cas optimiser le trafic utilisateur
Lenteur du temps de chargement pour les vues
Utilisez le tableau de bord Demandes et sessions de l’exemple de classeur des performances pour analyser le temps de chargement des vues.
S’il faut plus de 10 secondes pour charger plusieurs vues et si les temps de chargement lents caractérisent un grand nombre de sessions, cela peut indiquer que le trafic utilisateur ralentit le serveur.
Toutefois, si le chargement d’une vue donnée demande beaucoup de temps indépendamment du moment de visualisation, cela indique que le classeur de la vue doit être optimisé. Vous pouvez identifier les classeurs qui ont besoin d’être optimisés avec la vue administrative Statistiques des durées de chargement. Des moyens simples d’optimiser les classeurs consistent notamment à afficher moins d’informations dans chaque vue ou à diviser les vues, en réduisant le nombre de filtres et en utilisant des extraits de données.
Utilisation élevée des ressources correspondant au trafic utilisateur
Si votre serveur affiche une utilisation élevée de l’unité centrale de traitement et de la mémoire pendant les heures de trafic de pointe, il est recommandé d’optimiser le trafic utilisateur. Pour déterminer les heures de trafic de pointe et analyser le nombre d’utilisateurs simultanés sur votre serveur, utilisez le tableau de bord Utilisateurs et actions. Vous pouvez en outre utiliser la vue administrative Trafic vers les vues pour voir la part de l’accès aux vues dans le trafic utilisateur (par rapport à l’exécution de fonctions administratives, publication ou autres tâches).
Si vous cliquez sur un point dans la vue Nombre d’utilisateurs, le tableau de bord affiche les utilisateurs qui étaient actifs à ce moment donné et le nombre d’actions utilisateur exécutées par ces utilisateurs. Par défaut, les seules actions utilisateur affichées sont les vues utilisateur, mais vous pouvez utiliser le filtre Types d’action pour afficher des actions utilisateur supplémentaires.
Notez les heures du jour comptant de nombreux utilisateurs et vues simultanés afin de pouvoir les comparer à l’utilisation des ressources. En règle générale, le nombre d’utilisateurs devrait correspondre à un nombre élevé d’actions utilisateur. Toutefois, la vue dans cet exemple affiche un nombre artificiellement élevé d’actions pour un seul utilisateur dans le cadre d’un test de génération de charge. À titre d’exemple, vous pouvez comparer le nombre élevé de vues à 12h00 le 28 juin avec l’utilisation des ressources dans le tableau de bord illustré ci-après.
Utilisez le tableau de bord Utilisation de l’unité centrale de traitement pour afficher le pourcentage du total de l’unité centrale de traitement et le pourcentage d’utilisation de l’unité centrale de traitement pour chaque processus. Dans l’exemple suivant, notez que le pic important dans l’utilisation totale de l’unité centrale de traitement et dans le processus VizQL Server se situe à 12h00 le 28 juin. Étant donné que le processus VizQL Server assure le chargement et le rendu des vues, ce processus est souvent le premier affecté en cas de trafic utilisateur élevé.
Remarque : Le pourcentage d’utilisation de l’unité centrale de traitement pour des processus individuels peut dépasser les 100 % Du fait que l’utilisation du processeur pour des processus individuels est mesurée pour un cœur de processeur donné. Par contraste, l’utilisation totale de l’unité centrale de traitement est mesurée pour tous les cœurs de processeur.
Utilisez le tableau de bord Utilisation de la mémoire pour afficher le pourcentage d’utilisation totale de la mémoire et l’utilisation moyenne de la mémoire en gigaoctets. En règle générale, l’utilisation de la mémoire augmente de manière constante avec le trafic utilisateur. Dans ce cas aussi, le processus VizQL Server est le premier affecté par un trafic élevé.
Comment optimiser le trafic utilisateur
Lorsqu’un trafic utilisateur élevé correspond à une utilisation intensive des ressources comme dans l’exemple ci-dessous, vous devriez optimiser le trafic utilisateur.
Ajuster le nombre de processus VizQL Server
Le moyen le plus efficace d’optimiser le trafic utilisateur consiste à ajuster le nombre de processus VizQL Server. Ajoutez un processus VizQL Server à la fois et mesurez l’effet en renforçant l’analyse des performances. Les processus VizQL Server pouvant utiliser beaucoup de ressources de processeur et de mémoire, l’ajout d’un nombre excessif de processus peut ralentir le serveur. Si vous constatez une utilisation systématiquement élevée de la mémoire, essayez de réduire le nombre de processus VizQL Server afin de réduire la quantité de mémoire réservée.
Pour plus d’informations sur la configuration des processus, consultez Configurer les nœuds.
Ajuster le nombre d’autres processus
Bien que la manière la plus efficace d’améliorer les performances du trafic utilisateur consiste à ajuster le nombre de processus VizQL Server, vous pouvez également ajuster d’autres processus prenant en charge le processus VizQL Server ou empêchant le processus VizQL Server d’accéder à des ressources. Par exemple, le processus VizQL Server envoie de nombreuses demandes au processus serveur de cache, donc vous pouvez envisager d’augmenter le nombre de processus de serveur de cache. D’un autre côté, les processus du gestionnaire de processus en arrière-plan peuvent se disputer les ressources de l’unité centrale de traitement avec le processus VizQL Server. De ce fait, si vous n’avez pas besoin d’exécuter des actualisations d’extrait fréquentes, vous pouvez réduire le nombre de processus pour le gestionnaire de processus en arrière-plan. Si vous n’avez pas besoin d’instances supplémentaires du gestionnaire de processus en arrière-plan et si vous exécutez Tableau Server sur un groupement, vous pouvez déplacer le processus du gestionnaire de processus en arrière-plan vers un nœud dédié.
Ajuster la durée limite de la session VizQL
Dans l’exemple présenté précédemment, la quantité de mémoire utilisée par le processus VizQL Server augmente avec le trafic utilisateur, et il reste réservé par Tableau Server quelque temps après la fin du trafic. En effet, le processus VizQL Server réserve de la mémoire pour chaque session pendant une durée spécifiée. Si le processus VizQL Server utilise un pourcentage élevé de la mémoire disponible, essayez de réduire la durée limite de chaque session pour que la mémoire soit disponible plus rapidement.
Pour cela, utilisez la commande tsm configuration set
afin de réduire le paramètre vizqlserver.session.expiry.timeout
. Le paramètre par défaut est de 30 minutes.
Réduire la fréquence d’actualisation du cache
Si vos utilisateurs n’ont pas toujours besoin des données les plus à jour, vous pouvez améliorer le trafic utilisateur en configurant Tableau Server de manière à ce qu’il mette en cache et réutilise les données autant que possible.
Pour cela, utilisez la commande tsm data-access caching list
afin de confirmer la fréquence d’actualisation. La valeur par défaut est Low
. Utilisez la commande tsm data-access caching set
pour modifier la fréquence d’actualisation.
Évaluation du degré de réponse d’une vue
Lorsqu’un utilisateur ouvre une vue, les composants de celle-ci sont d’abord récupérés et interprétés, puis affichées dans le navigateur Web de l’utilisateur. Pour la plupart des vues, la phase de rendu d’affichage se produit dans le navigateur Web de l’utilisateur et, dans la plupart des cas, cela donne les résultats les plus rapides et le niveau de degré de réponse interactive le plus élevé. La gestion de la plupart des interactions dans le navigateur Web du client réduit la bande passante et élimine les latences de requêtes. Si une vue est très complexe, Tableau Server gère la phase de rendu sur le serveur au lieu de le faire dans le navigateur Web du client (car cela permet généralement d’atteindre de meilleures performances). Si vous vous rendez compte que le degré de réponse des vues n’est pas aussi élevé que vous le souhaitez, vous pouvez tester et modifier le seuil qui entraîne le rendu des vues par le serveur au lieu que cela soit fait dans le navigateur Web du client. Pour plus d’informations, consultez Configurer le rendu côté client.