Surcharge serveur

Digitalison -  
 Digitalison -
Bonjour,

Je suis en train de développer un outil de marketing automation et j'ai quelques problèmes ..
L'outil permet d'effectuer des actions automatisés via des fichiers php déclenché en cron

Les fichiers cron vont être lancés toutes les 15 minutes pour interroger l'API Twitter
Les procédures de chaque fichier durent entre 30 et 180 secondes ...

Le problème est que pendant que ces fichiers tournent et incrémentent la BDD MySQL, le front office est totalement inaccessible ..

Quelle pourrait être la solution pour exécuter ces fichiers tout en gardant le frontoffice accessible, sachant que le front office interroge également la BDD MySQL..

Merci
A voir également:

4 réponses

Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Bonjour,

De toute façon tu ne peux pas et ne dois pas interroger une base qui est entrain de se mettre à jour, tu n'aurais pas toutes les données à l'arrivée.
0
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Hello,

... mais tant qu'il ne fait que de la consultation de données dans son front-end et qu'il a conscience lorsqu'il interroge une table en cours de mise à jour de n'avoir qu'une vision incomplète des données ?

Par contre les scripts doivent être un peu mal gaulés pour mettre le serveur sur les genoux ...
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Surtout que l'avantage des scripts c'est la rapidité d'exécution à la base.
0
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276 > Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention  
 
... Ou peut être configuration inadaptée d'apache et/ou de PHP et/ou de MySQL ou mauvaise conception de la base?
0
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Hello Digitalison,

tu travailles sur un serveur hébergé, mutualisé, dédié ou une machine perso de développement ? Car je pense qu'il doit être possible d'optimiser la configuration pour répondre a tes besoins spécifiques, de partager les ressources pour que même pendant l’exécution des script il reste assez de mémoire à PHP pour qu'il puisse satisfaire les autres demandes ...

Malheureusement, je ne connais pas assez le sujet pour t'aider.

Si j'avais ce genre de problème je commencerais par augmenter le niveau des log, par auditer les process au niveau machine, essayer de quantifier qu'est ce qui fait quoi, comment, combien ...

You may stop me but you can't stop us all   ;-)
0
Digitalison
 
Merci pour vos réponses !
Je suis en serveur dédié avec un SC de dedibox.
Ce serai effectivment l'idéal si le front end pouvait charger les données de la BDD même en sachant qu'elle ne sont pas exactement à jour ...

les scripts cron sont des while de résltat mysql qui ensuite appelle l'api twitter qui elle met également un peu de temp a répondre puis des insert ou update dans la base...


Exemple :

While(resultat table 1)
{
if(resultat table 2)
{
Appel de l'API
if(Appel API OK)
{
INSERT INTO TAble 3
}
}
}


Au niveau du front, aucune modification n'est faite dans les tables ..
0
Digitalison
 
Je pense que le fait que la requete sql ne soit pas fermé empeche mon front d'accéder à la base pour par exemple faire un select sur la table des utilisateurs et vérifier que celui ci est bien enregistré ..
0