Articles

Explorer Redis pour la gestion des sessions utilisateur sur AWS Elasticache

Explorer Redis pour la gestion des sessions utilisateur sur AWS Elasticache est une excellente option pour améliorer la sécurité et la performance de votre application.

Gestion des sessions d’utilisateur dans le marché numérique dynamique

Le marché numérique trépidant, les applications web sont comme des villes vibrantes, constamment animées par l’activité des utilisateurs qui viennent et s’en vont. Tout comme les villes utilisent divers systèmes pour garder une trace de leurs habitants et visiteurs, les applications web comptent sur la gestion des sessions utilisateur pour maintenir une expérience fluide pour chaque personne naviguant à travers elles. Mais qu’est-ce exactement que la gestion des sessions utilisateur, et pourquoi est-elle si cruciale pour maintenir la vitalité des applications web ?

La gestion des sessions utilisateur est le mécanisme par lequel une application web reconnaît, suit et interagit avec ses utilisateurs pendant leur visite. Dans la quête de fournir des expériences d’utilisateur exceptionnelles, le rôle d’une gestion des sessions utilisateur efficace ne peut pas être surestimé. Imaginez entrer dans un magasin où le personnel se souvient de votre nom, préférences et de l’article que vous avez regardé en dernier. Ce service personnalisé vous fait sentir apprécié et compris. De manière similaire, lorsqu’une application conserve l’état et les interactions d’un utilisateur, elle permet une expérience plus personnalisée et efficace. De l’instant où un utilisateur se connecte jusqu’au moment où il se déconnecte, sa session – une série d’interactions avec l’application – est maintenue à travers un identifiant unique, généralement stocké dans un cookie ou un jeton de session.

Une bonne gestion des sessions utilisateur peut améliorer considérablement l’expérience utilisateur. Les développeurs peuvent intégrer des fonctionnalités telles que le codage des données pour sécuriser les informations de session et les authentifications multiples pour vérifier l’identité des utilisateurs. Une fois que ces mesures sont en place, les applications peuvent offrir des services personnalisés tels que la pré-remplissage des formulaires et la mise en cache des données pour accélérer le chargement des pages. De plus, les applications peuvent également offrir des fonctionnalités telles que la synchronisation des données entre les appareils et le suivi des activités pour améliorer l’expérience globale.

En fin de compte, la gestion des sessions utilisateur est un élément essentiel pour créer une expérience utilisateur fluide et personnalisée. La mise en œuvre de mesures de sécurité telles que le codage des données et l’authentification multi-facteurs est essentielle pour assurer la sécurité des données et garantir une expérience optimale pour les utilisateurs. En intégrant ces fonctionnalités à votre application web, vous pouvez offrir une expérience plus riche et plus engageante à vos utilisateurs.

Source de l’article sur DZONE

Optimisation des charges de travail I/O par le profilage en Python

Le profilage en Python est un outil puissant pour optimiser les charges de travail I/O. Il permet d’analyser et de comprendre le comportement des applications et de trouver des moyens d’améliorer les performances.

Optimiser les charges de travail I/O en Python

Testing the Performance

Once you have identified the type of I/O workloads, the next step is to test the performance. This can be done by running the code and measuring the time taken for execution. This will help you understand the areas that need to be optimized. You can also use profiling tools like cProfile and line_profiler to measure the performance of individual functions. These tools provide detailed information about the time taken for each function to execute.

Optimizing the Performance

Once you have identified the areas that need optimization, you can start applying strategies to reduce or manage the bottlenecks. For example, if your code involves multiple disk I/O operations, you can use caching to reduce the number of disk reads and writes. Similarly, if your code involves network I/O, you can use asynchronous programming techniques to improve the performance. Finally, if your code involves database I/O, you can use query optimization techniques to reduce the number of database queries.

Identifier les charges de travail d’E/S

Comprendre le type de charges de travail d’E/S est essentiel comme première étape. Est-ce qu’ils impliquent des opérations d’E/S sur disque, telles que des opérations de lecture/écriture de fichiers, des opérations d’E/S réseau, qui incluent la transmission de données sur un réseau, ou des opérations d’E/S de base de données, comprenant les interactions avec une base de données? Des techniques d’optimisation distinctes s’appliquent à chaque catégorie. J’ai pris en compte les goulots d’étranglement liés aux opérations E/S réseau et aux opérations de lecture/écriture de fichiers pour cet article.

Tester les performances

Une fois que vous avez identifié le type de charges de travail d’E/S, la prochaine étape consiste à tester les performances. Cela peut être fait en exécutant le code et en mesurant le temps nécessaire à son exécution. Cela vous aidera à comprendre les domaines qui doivent être optimisés. Vous pouvez également utiliser des outils de profilage tels que cProfile et line_profiler pour mesurer les performances de chaque fonction. Ces outils fournissent des informations détaillées sur le temps nécessaire à l’exécution de chaque fonction.

Optimiser les performances

Une fois que vous avez identifié les domaines qui doivent être optimisés, vous pouvez commencer à appliquer des stratégies pour réduire ou gérer les goulots d’étranglement. Par exemple, si votre code implique plusieurs opérations d’E/S sur disque, vous pouvez utiliser le cache pour réduire le nombre de lectures et d’écritures sur disque. De même, si votre code implique des opérations d’E/S réseau, vous pouvez utiliser des techniques de programmation asynchrones pour améliorer les performances. Enfin, si votre code implique des opérations d’E/S de base de données, vous pouvez utiliser des techniques d’optimisation des requêtes pour réduire le nombre de requêtes vers la base de données.

L’optimisation des charges de travail d’E/S en Python implique généralement la compréhension des goulots d’étranglement et l’application de stratégies pour les réduire ou les gérer. Le profilage est une ét

Source de l’article sur DZONE

Filtres de Bloom : filtrage de données efficace avec applications pratiques.

Les Filtres de Bloom sont une méthode de filtrage de données très efficace qui offre des applications pratiques variées. Découvrez comment elle peut vous aider !

Comprendre les filtres Bloom

Application dans le monde réel

Les filtres Bloom sont largement utilisés dans le monde réel pour des applications telles que la vérification de l’identité, la détection de spam et la vérification de la sécurité. Par exemple, lorsque vous vous connectez à un site Web, le serveur peut utiliser un filtre Bloom pour vérifier si votre adresse IP est autorisée à accéder au site. Les filtres Bloom sont également utilisés pour le codage, car ils peuvent être utilisés pour détecter les erreurs dans les données transmises. Les filtres Bloom peuvent également être utilisés pour le traitement des données, car ils peuvent être utilisés pour filtrer les données non pertinentes.

Exemple pratique

Pour illustrer le fonctionnement des filtres Bloom, prenons l’exemple d’un système qui stocke des informations sur les clients. Pour cela, nous allons créer un filtre Bloom avec m = 10 et k = 3. Nous allons ensuite ajouter les informations sur les clients à notre filtre Bloom en utilisant les trois fonctions de hachage. Pour vérifier si un client est présent dans le système, nous allons utiliser les mêmes fonctions de hachage et vérifier si toutes les positions correspondantes sont définies sur 1. Si c’est le cas, alors nous pouvons en conclure que le client est présent dans le système. Sinon, nous pouvons en conclure que le client n’est pas présent.

Conclusion

Les filtres Bloom sont des structures de données probabilistes qui permettent de tester efficacement l’appartenance d’un élément à un ensemble. Ils filtrent efficacement les éléments indésirables des vastes ensembles de données tout en maintenant une faible probabilité de faux positifs. Les filtres Bloom sont largement utilisés dans divers domaines tels que les bases de données, le cache, le réseau et bien plus encore. Dans cet article, nous avons exploré le concept des filtres Bloom, leur fonctionnement et illustré leur fonctionnement avec un exemple pratique. Les filtres Bloom sont particulièrement utiles pour le codage car ils peuvent être utilisés pour détecter les erreurs dans les données transmises.

Source de l’article sur DZONE

Améliorer les performances d'une application : 8 astuces.

Vous souhaitez améliorer les performances de votre application ? Découvrez ici 8 astuces pour y parvenir !

Performance d’application est critique pour fournir une expérience utilisateur rapide et réactive. Les performances lentes ou la latence élevée peuvent conduire à des utilisateurs frustrés et à des pertes de revenus pour l’organisation.

Database performance is a key factor in application performance. Databases are responsible for storing and retrieving data, and if they are not optimized, they can become a bottleneck. Database performance can be improved by optimizing queries, indexing data, and using caching. Additionally, databases should be monitored to ensure that they are running efficiently and that any potential problems are identified and addressed quickly. By monitoring database performance, organizations can ensure that their applications are running smoothly and that their users are getting the best possible experience.

La performance des applications est essentielle pour offrir une expérience utilisateur rapide et réactive. Une performance lente ou une latence élevée peut entraîner des utilisateurs frustrés et des pertes de revenus pour l’organisation.

À un niveau élevé, la latence de l’application fait référence au délai entre la demande de l’utilisateur et la réponse de l’application. La latence peut non seulement affecter l’expérience utilisateur globale et diminuer l’engagement, mais elle peut également être un problème coûteux et compliqué. La performance de l’application a également un impact sur l’efficacité globale. Les applications lentes peuvent ralentir les processus commerciaux, entraînant une productivité réduite et des coûts accrus. Tous ces facteurs peuvent réduire la capacité d’une entreprise à se mesurer sur le marché. Dans le monde d’aujourd’hui, les clients s’attendent à des applications rapides et réactives. Les entreprises qui ne sont pas en mesure de satisfaire à cette exigence risquent de perdre des clients à des concurrents qui offrent une meilleure expérience utilisateur.

La performance de la base de données est un facteur clé de la performance de l’application. Les bases de données sont responsables du stockage et de la récupération des données, et si elles ne sont pas optimisées, elles peuvent devenir un goulot d’étranglement. La performance de la base de données peut être améliorée en optimisant les requêtes, en indexant les données et en utilisant le cache. De plus, les bases de données doivent être surveillées pour s’assurer qu’elles fonctionnent efficacement et que tout problème potentiel est identifié et traité rapidement. En surveillant la performance des bases de données, les organisations peuvent s’assurer que leurs applications fonctionnent correctement et que leurs utilisateurs bénéficient de la meilleure expérience possible.

Source de l’article sur DZONE

Qu'est-ce que Envoy Gateway et pourquoi est-il nécessaire pour Kubernetes ?

Envoy Gateway est un service proxy open source qui fournit une connectivité sécurisée et un routage intelligent pour les applications Kubernetes. Il est nécessaire pour assurer la sécurité et la disponibilité des applications.

## Envoy Gateway : Faciliter la configuration d’Envoy proxy comme passerelle API et contrôleur d’entrée

Envoy Gateway est un projet qui a été créé pour faciliter le codage des applications multicloud. Il est basé sur le proxy Envoy, qui est le plan de données du service mesh Istio. Envoy est utilisé pour gérer le trafic est-ouest (communication de service à service à l’intérieur d’un centre de données). Cependant, pour que Istio gère un réseau d’applications multicloud, Envoy a été configuré comme un proxy côté pour gérer le trafic nord-sud (trafic entrant et sortant des centres de données).

Il a été constaté que les développeurs d’applications trouvaient difficile de configurer le proxy Envoy en tant que passerelle API et contrôleur d’entrée. Cela prenait beaucoup de temps, ce qui a conduit la communauté à utiliser l’API Gateway Kubernetes en tant que partie du projet Envoy et à finalement construire Envoy Gateway. Envoy Gateway est conçu pour être facilement configurable et peut être utilisé pour fournir des fonctionnalités telles que la sécurité, la mise en cache, la journalisation et la surveillance des API. Il peut également être utilisé pour fournir des fonctionnalités telles que la mise en œuvre de règles de routage, la gestion des certificats TLS et le contrôle d’accès.

Envoy Gateway est un outil très pratique pour les développeurs d’applications multicloud. Il permet aux développeurs de configurer et de gérer facilement leurs applications multicloud. Il permet également aux développeurs de mettre en œuvre des fonctionnalités avancées telles que la sécurité, la mise en cache, la journalisation et la surveillance des API. En outre, il permet aux développeurs de mettre en œuvre des règles de routage, de gérer les certificats TLS et de contrôler l’accès aux applications. Enfin, Envoy Gateway offre une grande flexibilité et une grande scalabilité pour les applications multicloud.

Source de l’article sur DZONE

Stratégies d'échelle de bases de données

Les stratégies d’échelle de bases de données permettent aux entreprises de gérer leurs données de manière efficace et rentable. Elles sont essentielles pour répondre aux besoins croissants en matière de stockage et de traitement des données.

Comprendre les différentes techniques de mise à l’échelle des bases de données nous aide à choisir la stratégie appropriée pour s’adapter à nos besoins et à notre objectif. Par conséquent, dans ce post, nous allons démontrer différentes solutions et techniques pour la mise à l’échelle des serveurs de bases de données. Elles sont divisées entre les stratégies de lecture et d’écriture.

Savoir les différentes techniques pour l’échelle des bases de données, nous aide à choisir la stratégie appropriée pour s’adapter à nos besoins et à notre objectif. Ainsi, dans ce post, nous allons démontrer différentes solutions et techniques pour l’échelle des bases de données serveur. Ils sont divisés entre les stratégies de lecture et d’écriture.

La première stratégie est le partitionnement des données. Cela consiste à diviser les données en plusieurs partitions, chacune étant gérée par un serveur différent. Cela permet de répartir la charge de travail entre les différents serveurs et d’améliorer les performances. De plus, cette technique est très utile pour le traitement des données volumineuses.

La deuxième stratégie est l’utilisation de la réplication. Cette technique consiste à répliquer les données sur plusieurs serveurs. Cela permet de répartir la charge de travail entre les différents serveurs et d’améliorer les performances. De plus, cette technique est très utile pour le traitement des données volumineuses.

Enfin, la dernière stratégie est l’utilisation de la mise en cache. Cette technique consiste à stocker les données dans un cache afin de réduire le temps de réponse et d’améliorer les performances. Cette technique est très utile pour le traitement des données volumineuses et pour améliorer les performances des applications qui utilisent des bases de données.

En conclusion, il existe différentes techniques pour l’échelle des bases de données. Chaque technique a ses propres avantages et inconvénients et peut être utilisée en fonction des besoins et des objectifs. Le partitionnement des données, la réplication et la mise en cache sont les principales techniques utilisées pour l’échelle des bases de données. Chacune de ces techniques peut être utilisée pour améliorer les performances des applications qui utilisent des bases de données et pour traiter des volumes importants de données.

Source de l’article sur DZONE

Optimiser l'utilisation des ressources API avec limitation de taux et contrôles de régulation.

Apprenez à optimiser l’utilisation des ressources API avec des techniques de limitation de taux et de contrôles de régulation pour améliorer la productivité et la sécurité.

Comment optimiser l’utilisation des ressources API ?

Les API sont un composant essentiel dans le paysage numérique moderne, permettant aux applications d’interagir entre elles et d’accéder à des données provenant de différentes sources. Cependant, à mesure que le nombre d’applications qui dépendent des API continue de croître, il est de plus en plus crucial de s’assurer que les API peuvent gérer la charge et fonctionner efficacement. C’est là que l’optimisation de l’utilisation des ressources API entre en jeu.

L’utilisation des ressources API fait référence à l’utilisation de ressources telles que le CPU, la mémoire et la bande passante réseau par les API pour traiter les demandes entrantes. Si l’utilisation de ces ressources n’est pas optimisée, cela peut entraîner une mauvaise performance, des problèmes de stabilité et une mauvaise expérience utilisateur.

Il existe plusieurs façons d’optimiser l’utilisation des ressources API. La première consiste à surveiller les performances des API afin de déterminer si elles sont surchargées ou sous-utilisées. Cela permet d’identifier les points faibles et de prendre les mesures nécessaires pour améliorer la performance des API. Une autre façon d’optimiser l’utilisation des ressources API est de mettre en œuvre des stratégies de mise en cache. Cela permet de réduire le nombre de requêtes envoyées aux API et d’améliorer le temps de réponse. Enfin, il est important d’utiliser des outils tels que les journaux et les tableaux de bord pour surveiller en temps réel l’utilisation des ressources API et identifier les problèmes potentiels.

En somme, l’optimisation de l’utilisation des ressources API est essentielle pour assurer le bon fonctionnement des API et offrir une bonne expérience utilisateur. Il existe plusieurs façons d’optimiser l’utilisation des ressources API, notamment la surveillance des performances, la mise en œuvre de stratégies de mise en cache et l’utilisation d’outils tels que les journaux et les tableaux de bord pour surveiller en temps réel l’utilisation des données. En prenant ces mesures, vous pouvez vous assurer que vos API sont optimisées et prêtes à gérer la charge et à fournir une expérience utilisateur optimale.

Source de l’article sur DZONE

Chaîner des requêtes API avec API Gateway

Avec API Gateway, vous pouvez facilement chaîner des requêtes API pour créer des solutions plus complexes et plus riches.

Pourquoi avons-nous besoin d’une demande API enchaînée?

La demande API enchaînée (ou demande de pipeline, ou appels API séquentiels) est une technique utilisée dans le développement logiciel pour gérer la complexité des interactions API lorsque le logiciel nécessite plusieurs appels API pour accomplir une tâche. Il est similaire au traitement des demandes par lots, où vous regroupez plusieurs demandes API en une seule demande et les envoyez au serveur en tant que lot. Bien qu’ils puissent sembler similaires, une demande de pipeline implique l’envoi d’une seule demande au serveur qui déclenche une séquence d’appels API à exécuter dans un ordre défini. Chaque demande API dans la séquence peut modifier les données de demande et de réponse, et la réponse d’une demande API est transmise en entrée à la prochaine demande API dans la séquence. Les demandes de pipeline peuvent être utiles lorsqu’un client doit exécuter une séquence de demandes API dépendantes qui doivent être exécutées dans un ordre spécifique.

Comment Apache APISIX API Gateway peut-il nous aider?

Apache APISIX est un moteur de routage et de mise en cache open source pour les services Web modernes. Il fournit une solution complète pour gérer les demandes API enchaînées. En utilisant Apache APISIX, vous pouvez créer des plugins personnalisés pour gérer les demandes client qui doivent être appelées en séquence. Par exemple, vous pouvez créer un plugin qui envoie une requête à l’API de recherche de produits, puis une requête à l’API de détails de produits pour récupérer des informations supplémentaires sur les produits. Apache APISIX fournit également des outils pour surveiller et analyser les performances des API, ce qui permet aux développeurs de mieux comprendre le comportement des API et d’améliorer leurs performances. Enfin, Apache APISIX fournit des fonctionnalités de sécurité pour protéger les données et les services contre les attaques malveillantes.

En conclusion, l’utilisation d’une demande API enchaînée peut aider à gérer la complexité des interactions API et à améliorer la qualité des services Web. Apache APISIX offre une solution complète pour gérer les demandes API enchaînées, y compris des outils pour surveiller et analyser les performances des API, ainsi que des fonctionnalités de sécurité pour protéger les données et les services contre les attaques malveillantes.

Source de l’article sur DZONE


WordPress is by far the world’s most popular CMS. Not only does it dominate the CMS market with a 64% market share, but it also powers 39.6% of all websites. It has taken the internet by storm by democratizing the web for all. Now, anyone can build, manage, and host a successful website without needing a college degree or coding expertise.

However, while WordPress is great at managing many technical aspects, it still can’t do everything for you. Built mostly on PHP, there are often concerns regarding how performant WordPress is. And, with performance impacting everything from bounce rates to SEO rankings to conversions, it’s something that should be on your radar too.

If you don’t know it yet, images are one of the main causes of slow-loading websites. In recent years, WordPress has stepped up its efforts to try and help users with image optimization out-of-the-box.

Still, as we’ll show, it’s not a total solution, and there is still plenty you can do to deliver better experiences on your WordPress website through image optimization.

What is WordPress Image Optimization? Why is it Important?

Simply put, image optimization is anything you do to make images load faster on your website pages. Almost all websites that use images can benefit from some form of image optimization, even those using WordPress.

Why?

Well, performance is a hugely significant factor when it comes to the competitiveness of your website today.

Google has also made performance an increasingly important factor when it comes to SEO rankings. In fact, performance is a direct ranking signal that carries significant weight.

Google’s Page Experience Update that went live in 2021 has been the biggest move in that direction yet. Soon, Google might even use visual indicators in SERP results to distinguish high-performing websites from the rest.

In Google’s own words, “These signals measure how users perceive the experience of interacting with a web page and contribute to our ongoing work to ensure people get the most helpful and enjoyable experiences from the web.”

So, Why Should We Target Images For Performance Optimization?

According to Google, images are the largest contributor to page weight. Google has also singled out image optimization specifically as the factor with the most untapped potential for performance optimization.

This problem isn’t going away soon. According to data by the HTTP Archive, there are roughly 967.5 KB bytes of image data on desktop web pages and 866.3 KB of image data on mobile pages. This is an increase of 16.1% and 38.8%, respectively, over the last five years.

Thanks to popular e-commerce tools like Woocommerce, it’s estimated that up to 28% of all online sales happen on WordPress websites.

And don’t forget, images are both a key part of conveying information to the user and integral to the design of your website. If they take significantly longer to load than your text, for example, it will negatively impact the user experience in a variety of ways.

In summary, optimized images help your WordPress website by:

  • Improving user satisfaction.
  • Improving various traffic metrics, like bounce rates, time-on-page, etc.
  • Boosting your SEO rankings.
  • Contributing to higher conversions (and sales).

How Does Image Optimization in WordPress Work?

WordPress is so popular because it’s a CMS (content management system) that allows anyone to build, design, and manage a website without any coding or advanced technical experience. Advanced features can be installed with just a few clicks, thanks to plugins, and you rarely have to touch the code behind your website unless you want to make some unique modifications.

In short, using a CMS like WordPress shields you from many of the day-to-day technicalities of running a website.

WordPress Image Optimization: What It Can Do

As we mentioned, one of the main reasons WordPress is so popular is because it takes care of many of the technical aspects of running a website. With that in mind, many think that WordPress should also automatically take care of image optimization without them having to get involved at all.

Unfortunately, that’s not really the case.

True, WordPress does offer some built-in image optimization. Whenever you upload an image to WordPress, it currently compresses the quality to about 82% of the original (since v4.5).

In v4.4, WordPress also introduced responsive image syntax using the srcset attribute. This creates four breakpoints for each image you upload according to the default WordPress image sizes:

  • 150px square for thumbnails
  • 300px width for medium images
  • 768px max-width for medium_large images
  • 1024px max-width for large images.

Here you can see an example of the actual responsive syntax code generated by WordPress:

<img loading="lazy" src="https://bleedingcosmos.com/wp-content/uploads/2021/12/33-1024x683.jpg" alt="" class="wp-image-9" width="610" height="406" srcset="https://bleedingcosmos.com/wp-content/uploads/2021/12/33-1024x683.jpg 1024w, https://bleedingcosmos.com/wp-content/uploads/2021/12/33-300x200.jpg 300w, https://bleedingcosmos.com/wp-content/uploads/2021/12/33-768x512.jpg 768w, https://bleedingcosmos.com/wp-content/uploads/2021/12/33-1536x1024.jpg 1536w" sizes="(max-width: 610px) 100vw, 610px">

Depending on the screen size of the device from which a user visits your webpage, WordPress will let the browser pick the most appropriately sized image. For example, the smallest version for mobile displays or the largest for 4K Retina screens, like those of a Mac.

While this may seem impressive, it’s only a fraction of what can be achieved using a proper image optimization solution, as we’ll show later.

Lastly, WordPress implemented HTML native default lazy loading for all images starting with version 5.5.

So, in short, WordPress offers the following image optimization capabilities baked-in:

  • Quality compression (limited)
  • Responsive syntax (up to 4 breakpoints)
  • Lazy loading

WordPress Image Optimization: What it Cannot Do

There are other issues many have with both the implementation of image compression and responsive syntax as it’s used by WordPress. This leads to some users even purposefully deactivating WordPress’ built-in image optimization so they can fully take control of it themselves.

Here are some of the reasons why:

  • WordPress uses a very basic form of quality compression. It does not use advanced technologies like AI and machine learning algorithms to compress images while maintaining maximum visual quality. It’s also lossy compression, so the quality is lost for good. You can clearly see the difference between an original HD image and the compressed version created by WordPress.
  • WordPress only compresses most images by up to 20%, while advanced image optimization tools can reduce all image sizes intelligently by up to 80%.
  • Responsive syntax can provide significant performance improvements over simply uploading a single HD image to be served on all devices and screens. However, it’s still only limited to a set number of breakpoints (typically 3 or 4). Since it’s not dynamic, a whole spectrum of possible image sizes is not created or used.
  • Responsive syntax code is not scalable and can quickly lead to code that’s bloated, messy, and hard to read.
  • WordPress doesn’t accelerate image delivery by automatically caching and serving them via a global CDN, although this can be done using other tools.

Another important optimization feature that WordPress does not have is auto-conversion to next-gen image file formats. Different image formats offer different performance benefits on different devices. Some formats also enable higher levels of compression while maintaining visual fidelity.

Next-gen formats like WebP, AVIF, and JPEG-2000 are considered to be the most optimal formats on compatible devices. For example, until recently, WebP would be the optimal choice on Chrome browsers, while JPEG-4000 would be optimal on Safari browsers.

However, WordPress will simply serve images in the same formats in which they were originally uploaded to all visitors.

How to Measure the Image Performance of a WordPress Website?

As the undisputed king of search engines, we’ll base most of our performance metrics on guidelines established by Google.

Along with its various performance updates, Google has released a number of guidelines for developers as well as the tools to test and improve their websites according to said guidelines.

Google introduced Core Web Vitals as the primary metrics for measuring a web page’s performance and its effect on the user experience. Thus, Core Web Vitals are referred to as “user-centric performance metrics.” They are an attempt to give developers a testable and quantifiable way to measure an elusive and abstract concept such as “user experience.”

Combined with a number of other factors, Core Web Vitals constitute a major part of the overall page experience signal:

You can find a complete introduction to Core Web Vitals here. However, they currently consist of three main metrics:

  • LCP (Largest Contentful Paint): The time it takes the largest above-the-fold element on your page to load. This is typically a full-sized image or hero section.
  • FID (First Input Delay): The delay from the moment a user first interacts with an element on the page until it becomes responsive.
  • CLS (Cumulative Layout Shift): The visual stability with which the elements on a page load.

Here is an illustration of how these metrics are scored:

While these are the three most important metrics to optimize, they are not the only ones. Google still measures other metrics like the FCP (First Contentful Paint), SI (Speed Index), as well as the TTFB (Time to First Byte), TBT (Total Blocking Time), and TTI (Time to Interactive).

A number of these metrics are directly affected by the images used on your web pages. For example, LCP, FCP, and SI are direct indicators of how fast the content of your web page loads and depends on the overall byte size of the page. However, it can also indirectly affect FID by keeping the main thread busy with rendering large amounts of image content or the perceived CLS by delaying the time it takes large images to load.

These metrics apply to all websites, whether they are custom-made or built using a CMS like WordPress.

When using tools like Lighthouse or PageSpeed Insights, you’ll also get scored based on other flags Google deems important. Some of them are specific to images, such as properly sizing images and serving images in next-gen formats.

If you only use built-in WordPress image optimization, you’ll get flagged for the following opportunities for improvement:

Some of the audits it will pass, however, are deferring offscreen images (lazy loading) and efficiently coding images (due to compression):

A Better Way to Optimize WordPress Images: ImageEngine

Billions of websites are all vying for prime real estate on Google SERPs, as well as the attention of an increasingly fussy internet-using public. Every inch matters when it comes to giving your website a competitive advantage.

So, how can you eliminate those remaining performance flags and deliver highly optimized images that will keep both your visitors and Google happy?

Sure, you could manually optimize images using software like PhotoShop or GIMP. However, that will take you hours for each new batch of images. Plus, you still won’t benefit from any automated adaptive optimization.

A more reasonable solution in today’s fast-paced climate is to use a tool developed specifically for maximum image optimization: an image CDN like ImageEngine.

ImageEngine is an automated, cloud-based image optimization service using device detection as well as intelligent image compression using the power of AI and machine learning. It can reduce image payloads by up to 80% while maintaining visual quality and accelerating delivery around the world thanks to its CDN with geographically dispersed PoPs.

Why is ImageEngine Image Optimization Better Than WordPress?

When making a head-to-head comparison, here are the reasons why ImageEngine can deliver better performance:

  • Device Detection: ImageEngine features built-in device detection. This means it picks up what device a visitor to your website is using and tailors its optimization strategy to what’s best for that specific device.
  • Client hints: By supporting client hints, ImageEngine has access to even more information regarding the device and browser to make better optimization decisions.
  • Next-gen formats: Based on optimal settings, ImageEngine automatically converts and serves images in next-gen formats like WebP, AVIF, JPEG2000, and MP4 (for GIFs).
  • Save data header: When a Chrome user has save-data mode enabled, ImageEngine will automatically compress images more aggressively to save on data transfer.
  • CDN with dedicated edge servers: ImageEngine will automatically cache and serve your optimized image assets using its global CDN. Each edge server has device awareness built-in to bring down latency and accelerate delivery. You can also choose to prioritize specific regions.

So, the key differentiator is that ImageEngine can tailor optimizing images for what’s optimal for each of your visitors. ImageEngine is particularly good at serving mobile visitors thanks to WURFL device detection, which can dynamically resize images according to most devices and screen sizes in use today. As of now, this is a completely unique capability that none of its competitors offer.

It allows for far better and more fine-tuned optimization than WordPress’ across-the-board approach to compression and responsive syntax.

If you want, you could turn off WordPress responsive syntax and compression, and you would still experience a performance increase using ImageEngine. However, ImageEngine also plays nice with responsive syntax, so it’s not completely necessary unless you want to serve the highest-fidelity/low-byte-size images possible.

How Does ImageEngine Work with WordPress?

The process ImageEngine uses to integrate with WordPress can be broken down into a few easy steps:

  • Sign up for an ImageEngine account: ImageEngine offers three pricing plans depending on the scale and features you need as well as a no-commitment 30-day free trial.
  • Specify your image origin: This tells ImageEngine where to find the original versions of your images. For a WordPress website, you can just use your domain, e.g., https://mywordpresswebsite.com. ImageEngine will then automatically pull the images you’ve uploaded to your WordPress website.

  • Copy the Delivery Address: After you create an account and specify your image origin, ImageEngine will provide you with a Delivery Address. A Delivery Address is your own unique address that will be used in your <img> tags to point back to the ImageEngine service. Delivery Addresses may be on a shared domain (imgeng.in) or customized using a domain that you own. A Delivery Address typically looks something like {random_string}.cdn.imgeng.in. If your images are uploaded to the default WordPress folder /wp-content/uploads/, you can access your optimized images from ImageEngine simply by changing your website domain. For example, by typing {imageengine_domain}.cdn.imgeng.in/wp-content/uploads/myimage.jpg into your browser, you’ll see the optimized version of that image. Just press the copy button next to the Delivery Address and use it in the next step configuring the plugin.

  • Install the ImageEngine Optimizer CDN plugin: The plugin is completely free and can be installed just like any other plugin from the WordPress repository.
  • Configure and enable ImageEngine Plugin in WordPress: Just go to the plugin under “ImageEngine” in the main navigation menu. Then, copy and paste in your ImageEngine “Delivery Address,” tick the “Enabled” checkbox, and click “Save Changes” to enable ImageEngine:

Now, all ImageEngine basically does is replace your WordPress website domain in image URLs with your new ImageEngine Delivery Address. This makes it a simple, lightweight, and non-interfering plugin that works great with most other plugins and themes. It also doesn’t add unnecessary complexity or weight to your WordPress website pages.

ImageEngine vs Built-in WordPress Image Optimization

So, now let’s get down to business by testing the performance improvement you can expect from using ImageEngine to optimize your image assets.

To do this test, we set up a basic WordPress page containing a number of high-quality images. I then used PageSpeed Insights and the Lighthouse Performance Calculator to get the performance scores before and after using ImageEngine.

Importantly, we conducted this test from a mobile-first perspective. Not only has mobile internet traffic surpassed desktop traffic globally, but Google themselves have committed to mobile-first indexing as a result.

Here is a PageSpeed score using the Lighthouse calculator for WordPress with no image optimization:

As we can see, both Core Web Vitals and other important metrics were flagged as “needs improvement.” Specifically, the LCP, FCP, and TBT. In this case, both the LCP and FCP were a high-res featured image at the top of the page.

If we go to the opportunities for improvement highlighted by PageSpeed, we see where the issues come from. We could still save as much as 4.2s of loading time by properly resizing images and a further 2.7s by serving them in next-gen formats:

So, now let’s see how much ImageEngine can improve on that.

The same test run on my WordPress website using ImageEngine got the following results:

As you can see, we now have a 100 PageSpeed score. I saved roughly 2.5s on the SI (~86%) as well as roughly 1.7s on the LCP (~60%). There was also a slight improvement in the FCP.

Not only will you enjoy a stronger page experience signal from Google, but this represents a tangible difference to visitors regarding the speed with which your website loads. That difference will lead to lower bounce rates, increased user satisfaction, and more conversions.

There was also a 53% overall reduction in the total image payload. This is impressive, considering that it’s on top of WordPress’ built-in compression and responsive syntax.

Conclusion

So, as someone with a WordPress website, what can you take away from this?

Well, first of all, WordPress does feature some basic image optimization. And while not perfect, it should help you offer reasonable levels of performance, even if you use a lot of image content.

However, the caveat is that WordPress applies aggressive, across-the-board compression, which will lead to a noticeable reduction in visual quality. If you use WordPress for any type of website where premium quality images are important, this is a concern — for example, as a photography portfolio, exhibition, or image marketplace like Shutterstock.

By using ImageEngine, you can reduce image payloads and accelerate delivery even further without compromising too harshly on visual quality. What’s more, ImageEngine’s adaptive image optimization technology will provide greater improvements to more of your visitors, regardless of what device(s) they use to browse the web.

Whether or not you still want to use WordPress’ built-in optimizations, ImageEngine will deliver significant improvements to your user experience, traffic metrics, and even conversions.

Plus, true to the spirit of WordPress, it’s extremely simple to set up without any advanced configuration. Just sign up for ImageEngine in 3 easy steps, install the plugin, integrate ImageEngine by copy/pasting your image domain, and you’re good to go.

 

[ This is a sponsored post on behalf of ImageEngine ]

Source

The post WordPress Website Analysis: Before & After ImageEngine first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

NoSQL data sets arose in the latter part of the 2000s as the expense of storage drastically diminished. The days of expecting to create a complicated, hard to-oversee data model to avoid data replication were long gone and the primary expense of programming and development was now focused on the developers themselves, and hence NoSQL databases were brought into the picture to enhance their productivity.

As storage costs quickly diminished, the measure of data that applications expected to store increased, and the query expanded as well. This data was received in all shapes and sizes — organized, semi-organized, and polymorphic — and characterizing the schema ahead of time turned out to be almost incomprehensible. NoSQL databases permitted the developers to store colossal measures of unstructured data, providing them with a ton of flexibility. 

Source de l’article sur DZONE