1 votes

Plus de 1 Go d'upload sur un seul serveur linux

J'ai un serveur web nginx sur CentOS qui fournit un contenu statique volumineux. Lorsque le nombre de connexions simultanées est faible, le serveur peut facilement fournir jusqu'à 4 Go de trafic, mais lorsque le nombre de connexions simultanées augmente, les performances du serveur chutent de façon spectaculaire jusqu'à 400 Mo avec une utilisation de 100 % des E/S. J'ai essayé la mise en cache SSD, le montage du système de fichiers avec noatime, la modification du planificateur d'E/S, l'augmentation de la mémoire du serveur jusqu'à 256 Go, différentes configurations sur nginx comme aio, l'envoi de fichiers, mais sans succès. Y a-t-il d'autres configurations pour améliorer les performances ?

0 votes

Quelle est la sortie de $ free -m pendant les pics de charge ? En outre, quel est le volume des données que vous servez ?

3 votes

Pourquoi ne pas mettre un CDN en face ?

0 votes

Ce serveur dispose-t-il d'une liaison montante 10GigE ?

0voto

ThoriumBR Points 5222

Pourquoi ne pas créer un disque RAM et y mettre le contenu ? Vous pouvez exécuter rsync pour sauvegarder les données sur le disque physique et éviter toute perte de données.

0 votes

La taille des données est trop importante pour tenir dans un disque RAM

0voto

Peter Stone Points 1962

Je suppose que lorsque le nombre de clients est faible, le serveur est en mesure de mettre en cache la plupart des données nécessaires dans la mémoire vive, de sorte qu'il les sert presque exclusivement à partir de la mémoire vive.

Mais lorsque de plus en plus de clients sont servis, la plupart des données ne tiennent pas dans votre mémoire vive et votre serveur doit les lire à partir de votre sous-système d'entrée/sortie. Le cache est beaucoup moins utilisé, car la plupart du temps, les données nécessaires ne sont tout simplement pas là. Et les disques mécaniques doivent chercher beaucoup.

Je ne sais pas combien de données vous avez et comment est configuré votre IO, mais je pense que les disques mécaniques ne suffiront pas. Aussi, tout cache SSD est plus petit que les données que vous utilisez.

Vous pourriez utiliser plusieurs disques SSD à haute performance de lecture aléatoire en RAID1. Ou peut-être pourriez-vous "partager" vos données - au lieu d'utiliser un énorme système de fichiers, divisez vos fichiers sur un grand nombre de petits disques SSD en vous basant par exemple sur les critères suivants crc32(filepath) % 8 pour 8 SSD.

0 votes

Il s'agit d'un stockage de fichiers avec 40 To de données. Un raid matériel (50) est configuré.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X