Quand dois-je utiliser MySQL protocole compressé?
J'ai appris que MySQL peut compresser la communication entre les serveurs et les clients.
La Compression est utilisée si le client et le
support de serveur de compression zlib, et
le client demande à la compression.
(à partir de MySQL Forge Wiki)
Le plus évident des avantages et des inconvénients sont
- avantages: Réduit la taille de la charge utile
- inconvénients: Augmentation du temps de calcul
Alors, est-protocole compressé quelque chose que je doit activer à chaque fois que je peux me permettre serveurs adéquats specs? Existe-il d'autres facteurs à prendre en compte?
- La vitesse du réseau et la vitesse de traitement sont toujours à la course les uns des autres. Est-ce que votre programme d'installation ont une plus grande vitesse de réseau ou une plus grande vitesse de traitement? Si vous avez une plus grande vitesse du réseau, puis de les enregistrer sur le traitement par pas de compression. Si vous avez une plus grande vitesse de traitement, puis de les enregistrer sur le réseau par la compression.
Vous devez vous connecter pour publier un commentaire.
Avantages de Performance vont être en grande partie dépend de la taille de la suite d'ensembles que vous envoyez, en plus de la bande passante du réseau et le temps de latence entre le serveur de base de données et de ses clients.
Plus le jeux de résultats, plus le temps de latence, ou du moins de bande passante, plus vous aurez de chances de voir le bénéfice de la compression.
Votre niveau de service maximum est limitée par le plus petit goulot d'étranglement. Donc, vous avez besoin d'analyser l'endroit où vous êtes actuellement au sujet de réseau et de ressources CPU.
Les plus optimisés serveur de base de données utilise 100% du CPU à 100% du temps, sinon vous risquez de gaspiller des ressources informatiques par le fait d'avoir un processeur qui est assis là à ne rien faire. Bien sûr, vous ne voulez pas à 101%, de sorte que votre fourchette cible est bien en dessous de 100%. Pourtant, mon point est que si vous avez beaucoup de marge avant d'atteindre un étranglement au niveau du PROCESSEUR, et les jeux de résultats sont d'une taille importante, et le réseau est un facteur, puis tourner à la compression. Les cycles CPU sont bon marché, en particulier ceux qui sont inutilisés (vous ne payer pour l'électricité et le refroidissement).
Si vous payer la bande passante, la négociation d'utilisation de l'UC pour la bande passante est facile à justifier, et même si vous n'êtes pas n'importe où près d'atteindre le goulot d'étranglement de la bande passante, plus rapides que la vitesse et de niveau de service plus élevé, vaut quelque chose.
N'oubliez pas que le client doit également dépenser de cycles de PROCESSEUR pour décompresser les données. Pas un problème majeur, mais toujours un facteur. En général, aujourd'hui, les Processeurs sont plus rapides que les réseaux d'aujourd'hui.
Je sais il est tard, mais j'ai pensé que je pourrais partager cette:
À moins que votre base de données et le client sont sur la même machine, sur 100 Mbits réseau et plus lent, activer la compression!
Cependant, votre décision finale pourrait également dépendre de l'équilibre entre le coût de cycles CPU (compression/décompression) et l'utilisation de la bande passante (plus de données sur le réseau).
Dans mon expérience, la plupart des serveurs mysql sont situés sur le même serveur que le serveur web, de sorte que la bande passante du réseau n'est pas un problème.
Je dirais que, à moins que votre base de données et des applications/serveurs web sont géographiquement proches (c'est à dire pas sur le même serveur ou réseau), il va y avoir très peu d'intérêt dans l'activation de la compression.
De mon expérience, il est particulièrement utile si vous vous connectez à un serveur MySQL qui se trouve complètement dans le réseau d'un autre (ou le même pays). L'avantage que vous obtenez à partir de l'activation de la compression dans de tels cas, dépend de la taille des données que vous transférez, et la distance entre le client et le serveur. Comme toujours, vous devez tester votre application avec et sans compression, et ensuite prendre une décision ce qui est le plus avantageux pour votre situation. Il n'y a pas de réponse absolue à cette question.
Je ne vois pas beaucoup de point de compression si vous interrogez un serveur MySQL sur la même machine, ou même sur le même réseau.