Bonjour, Nous sommes entrain de tester le service public cloud et nous avons quelques questions techniques concernant les réseaux privées et le temps de latence entre plusieurs machines connectées sur un même réseau privé.
Notre objectif est d'avoir une infrastruture qui permet d'isoler mysql server dans un serveur et permettre les opérations de Read/Write a partir d'autre machines distantes avec un temps de latence minimale.
Nous avons créer en tout 3 machines avec les mêmes configurations :
server-1, server-2, server-3
les machines server-1 et server-2 ont été configurées dans un réseau privé.
La machine server-3 ne fais pas partie du réseau privé.
Les machines qu'on a choisit sont toutes de type "EG-7-SSD - Flex" et font toutes partie de la même zone (Gravelines)
La première problématique qu'on a eu s'est quel interfaces réseaux (des machine server-1 et server-2) ne sont pas automatiquement configurées pour le réseau privé ? donc a du les configurer en utilisant l'utilitaire nova-client.
Par contre lors de nos testes sur d'autres plateformes tel que azur et aws, ces cartes réseaux sont automatiquement configurées et installées.
Puis nous avons installé mysql-server sur tous les serveurs sans changer aucun paramétres.
Nous avons effectué deux types de tests: mysqlslap et des opérations de R/W avec un script python.
Voici les résultats trouvées aprés plusieurs tests
MYSQLSLAP
tests using : 10 concurrent/ 10 iterations/ 1000 queries
OVH:
local server-1:
Average number of seconds to run all queries: 0.702 seconds
Minimum number of seconds to run all queries: 0.650 seconds
Maximum number of seconds to run all queries: 0.776 seconds
Number of clients running queries: 10
Average number of queries per client: 100
private network server-2:
Average number of seconds to run all queries: 10.498 seconds
Minimum number of seconds to run all queries: 4.899 seconds
Maximum number of seconds to run all queries: 11.227 seconds
Number of clients running queries: 10
Average number of queries per client: 100
public network server-3:
Average number of seconds to run all queries: 13.721 seconds
Minimum number of seconds to run all queries: 13.705 seconds
Maximum number of seconds to run all queries: 13.749 seconds
Number of clients running queries: 10
Average number of queries per client: 100
Le soucis qu'on a remarqué est lors des testes de mysqlslap est que la différence entre les résultat est importantes :
lors du teste a partir de la machine locale la moyenne est de 0.702 seconds
par contre lors des testes de la machine du même reseaux privé la moyenne est de 10.498 seconds
et pour une machine qui ne fais pas partie du réseau privé(server-3) la moyenne est de 13.721 seconds ce qui n'est pas trés different par rapport aux résultat du serveur privé(server-2)
Donc on voudrait avoir votre avis sur les possibles causes ? est ce une mauvaise manipulation lors de la création des machines ? une mauvaise configuration des interfaces du réseau privé ? une autre limite ?
PS: Nous avons déja communiqué nos soucis au services de support via le manager et aussi bien par téléphone mais on toujours pas eu de réponses depuis 10 jours !!!
Merci pour votre intéret
Salut,
Concernant la configuration de l'interface réseau connectée au vLan, tu peux la configurer au démarrage de ton instance en exploitant les user-data et cloud-init. Voici le script que tu peux utiliser pour activer l'interface sur un vLan supportant le DHCP :
#cloud-config
runcmd:
- echo "auto ens4" > /etc/network/interfaces.d/60-vlan.cfg
- echo "iface ens4 inet dhcp" >> /etc/network/interfaces.d/60-vlan.cfg
- ifup ens4
A noter que tu peux forcer l'utilisation d'une IP particulière de ton vLan si tu créé l'instance via l'API d'OVH.
Concernant la latence, oui il y a de la latence mais elle correcte quant il s'agit de machines/instances localisées dans le même datacenter, là où cela devient mauvais c'est entre plusieurs datacenter même avec le vLan.
Pour tes tests, le temps de réponse ne me semble pas normal. On a pas eu ce souci entre des instances public cloud et des serveurs dédiés. A noter d'ailleurs que je trouve qu'il s'agit d'une mauvaise idée de mettre vos BDD sur du public cloud.
Merci infiniment pour ta réponse et surtout pour tes conseils
Concernant la bdd, tu a une suggestion précise ou bien tu peux élaborer plus la raison pour éviter de mettre la bdd sur du public cloud ?
J'ai oublié de préciser dans mon précédent message que le script était valide pour une instance sous Ubuntu, il faudra l'adapter si tu utilises une autre distribution Linux.
Concernant la bdd, je te déconseille le public cloud principalement à cause des performances des instances. Les disques HA ont une performance en terme d'IOPS lamentable, les disques SSD offrent des performances correctes mais ne sont pas redondant, en cas de défaillance tu perds tes données.
Dans ce cas, je vois deux scénarios :
* Tu exploites le public cloud avec des instances SSD pour mettre en place un cluster de base données et ainsi garantir une certaine tolérance aux pannes.
* Tu exploites des serveurs dédiés, une configuration maitre-esclave permet de garantir un failover rapide si elle est bien mise en place. L'idéal étant d'avoir un cluster d'au moins 3 serveurs, là encore, il s'agit d'un rapport coûts/besoin.