Rapport Processeur / Ram ?

Nouveau WRInaute
Bonsoir à tous.

Je viens poser une question sur ce forum que je lis depuis plusieurs mois maintenant...

Nous développons des applications SaaS pour nos clients. Jusqu'à présent notre application était disponible sur un serveur mutualisé et n'avait aucun problème de lenteur (temps d’exécution des scripts de l'ordre de 3 à 7 sec pour les pages les plus complexes (reportings assez lourds)).

Nous avons récemment décidé de passer notre application sur un serveur dédié virtualisé, avec 2 GO de RAM. Nos temps d'exécution pour ces pages ont explosés ( * 5 ou * 6) et deviennent inacceptables.
Nous développons en local sur une machine avec 4GO de RAM et un processeur de 2 Ghz.

Nous allons donc passer sur un serveur dédié, probablement l'offre cloud chez 1and1 qui nous permettra d'adapter au mieux la configuration.

Cependant, je ne sais pas comment régler le nombre de coeurs et la RAM. Existe il un rapport idéal entre RAM et nombre de coeurs ? Ont ils tous deux exactement le même effet sur les temps d’exécution ? Ou alors par exemple avoir plus de coeurs permet de gérer plus de visiteurs simultanés et plus de RAM permet d’exécuter les scripts plus rapidement ?

Je vous remercie par avance pour vos conseils !

Très bonne soirée

Swakone.
 
WRInaute impliqué
Avoir plus de ram permet d'accumuler plus de.. mémoire pour les scripts, s'ils sont lourd, imaginons un script vidéo par exemple. Il me semble que cela influe également positivement sql.( par exemple ).
Avoir un processeur plus performant permet de traiter plus rapidement tous les scripts.
Le dernier point important, mais pas indispensable, c'est le disque. SSD, HDD ( RPM ) etc.
 
WRInaute accro
Tout dépend de ce que ta machine fait, et de sa config.

La RAM, ça a deux utilités: ça permet de stocker les processus et toute leur sauce, et ça sert de cache pour limiter les accès disque.

Le minimum, c'est que tu aies assez de RAM pour que tous les processus restent en RAM (i.e. que la machine n'ait pas besoin de "swapper"). Si ta machine swappe, tu n'as pas assez de RAM, ou ta machine est mal configurée (trop de processus trop lourds).

Au delà, plus tu as de RAM, plus l'OS va pouvoir garder en cache ce qui est sur disque, ce qui limite les accès à ceux-ci (en lecture). Dans de nombreux cas, l'essentiel de ta base peut tenir entièrement dans le cache en RAM, ce qui accélère considérablement les choses.

Les processeurs, ça ne sert que pour les tâches qui l'utilisent (beaucoup de tâches sont plus axées I/O comme les BDD). Dans certains cas ça peut aider beaucoup, dans d'autres ça ne va servir à rien du tout.

L'idéal est probablement de regarder ce qui est le facteur limitant à l'heure actuelle: CPU, RAM, accès disque. Utilise les outils de monitoring mis à ta disposition (ou mets-en en place si nécessaire) et regarde ce qui sature. A plus court terme, des outils comme top peuvent déjà te donner des éléments.

Jacques.
 
WRInaute impliqué
swakone a dit:
Nous avons récemment décidé de passer notre application sur un serveur dédié virtualisé, avec 2 GO de RAM. Nos temps d'exécution pour ces pages ont explosés ( * 5 ou * 6) et deviennent inacceptables.
Nous développons en local sur une machine avec 4GO de RAM et un processeur de 2 Ghz.

En premier lieu il faudrait savoir pourquoi ces temps ont explosés, je pencherai sur le fait que la base de données est sur le même serveur que celui qui execute les scripts ce qui n'était pas le cas dans une solution de mutualisé.

Bref avant d'essayer de faire un ratio processeur memoire il faudrait savoir ce qui cause cette augmentation de délais et voir ce qui pourrait être optimisé puis à l'issue choisir le bon hebergement non ?
 
Discussions similaires
Haut