Une requête d'insertion se connecte constamment à mon journal de requête lente MySQL.
Je veux voir combien de temps la requête d'insertion prend avec 100 opérations d'insertion simultanées (sur la même table). P>
Donc, j'ai besoin de simuler le follwoing.
500 connexions simultanées différentes de PHP à la même base de données sur un serveur MySQL, qui insère toutes une rangée (simultanément) à la même table. P>
Dois-je utiliser un outil de test de charge? Ou puis-je simplement écrire un script PHP pour faire cela? P>
Toute pensée? p>
PS: J'utilise Apache sur Windows. P>
4 Réponses :
Étant donné que PHP est généralement déclenché via une demande HTTP, vous avez besoin de quelqu'un / quelque chose pour émettre de nombreuses demandes HTTP. P>
J'utilise http://jmeter.apache.org/ pendant des années et c'est très précieux Pour ces scénarios. P>
Étant donné que vous souhaitez tester les connexions de PHP, vous devez exécuter des tests avec PHP.
De plus, vous souhaitez tester la charge de la portée MySQL, de préférence, vous devez exécuter le script PHP de la même machine que MySQL fonctionne (le cas échéant).
Une dernière note sur la chose «simultanément», vous devriez probablement utiliser des threads. Personnellement, je n'ai jamais utilisé de threads en PHP, mais Google est proposé avec ce classe PHP .
J'espère que cela a aidé. P>
Si vous avez installé Apache sous Windows, vous devez avoir l'outil de référence Apache (AB.EXE). Créez votre script PHP pour insérer une ligne et le rendre accessible via: http://127.0.0.1/sert.php a>. Testez 100 connexions simultanentes en exécutant cette commande AB: qui doit exécuter ces 100 inserts simultanément via votre script php. P> P>
Utilisez-vous php5.3?
Le nouveau pilote MySQL (MySQLND) peut gérer des requêtes parallèles. p>
Essayez ceci: p>
Bonne réponse! Vous pouvez lire sur la disponibilité des versions d'installation et de PHP ici: php.net/manual/fr/mysqlnd .Install.php
Vous devez indiquer le type de moteur de base de données causé par l'insert lent et travailler sur le schéma de la table au lieu de faire ce qui précède