8
votes

PHP: simuler plusieurs connexions MySQL à la même base de données

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).

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.

Dois-je utiliser un outil de test de charge? Ou puis-je simplement écrire un script PHP pour faire cela?

Toute pensée?

PS: J'utilise Apache sur Windows.


1 commentaires

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


4 Réponses :


1
votes

É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.

J'utilise http://jmeter.apache.org/ pendant des années et c'est très précieux Pour ces scénarios.


0 commentaires

0
votes

É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é.


0 commentaires

6
votes

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. Testez 100 connexions simultanentes en exécutant cette commande AB: xxx

qui doit exécuter ces 100 inserts simultanément via votre script php.


0 commentaires