Une chose que vous pourriez rencontrer est une charge accrue sur votre serveur de base de données. Si vous mettez en œuvre une mise en cache côté serveur des données, vous serez habitué à ce que votre site interroge la base de données une fois pour un ensemble de données donné, mette en cache les données et ne consulte pas à nouveau la base de données jusqu'à l'expiration du cache. C'est une bonne stratégie pour les données fréquemment consultées.
Dans un environnement équilibré en charge, les demandes ultérieures pourraient aller vers des serveurs différents et la base de données sera interrogée deux fois pour les mêmes données. Ou plus si vous avez plus de 2 serveurs. Ce n'est pas en soi une mauvaise chose, mais vous seriez bien avisé de garder un œil dessus. Si la base de données est en file d'attente, les avantages de l'exécution d'une ferme web pourraient être annulés. Comme toujours, effectuez des tests de référence, de profilage et d'exécution.
Une solution consiste à utiliser des sessions persistantes. Il s'agit d'une approche basée sur le routeur. Une fois qu'une session utilisateur est établie, toutes les demandes de cet utilisateur sont routées vers le même serveur. Cela présente des inconvénients, notamment une diminution potentielle de l'efficacité de l'équilibrage de charge, sans oublier les problèmes lorsque vous perdez un serveur. De plus, cela ne sera utile que lorsque vous mettez principalement en cache des données spécifiques à l'utilisateur, telles que les résultats de recherche paginés, qui ne sont mis en cache que pour un court laps de temps.
Une autre solution consiste à utiliser une mise en cache distribuée en mémoire, telle que memcached, Velocity ou NCache. Il en existe d'autres également, mais ce sont ceux avec lesquels j'ai travaillé.
Autre chose à surveiller, qui n'a aucun lien avec ce qui précède, est: Comment gérez-vous les téléversements de fichiers de la part de vos utilisateurs. De nombreux sites permettent aux utilisateurs de téléverser des fichiers. Si de tels fichiers n'ont pas été préalablement enregistrés dans un espace de stockage central, tel qu'une base de données ou un partage de fichiers commun, ils devront l'être.