Question

Non, je ne suis pas essayer de voir combien de mots à la mode que je peux jeter dans un seul titre de question.

Je fais des demandes de repos par cURL dans mon application PHP pour certains webservices. Ces demandes doivent être faites assez souvent depuis une grande partie de l'application dépend de cette API. Cependant, il est temps de latence sévère avec les demandes (2-5 secondes) ce qui fait que mon regard application très lent.

Alors que je suis à mi-chemin à une solution avec une recommandation pour mettre en cache ces demandes dans Memcached, je ne suis toujours pas satisfait de ce genre de latence jamais apparaissant dans l'application.

Voici donc été ma pensée: je peux mettre en œuvre AJAX long sondages en arrière-plan afin que l'utilisateur n'éprouve jamais le temps d'attente pure et simple. Les demandes REST / Memcache seront lookups fait tout au long de AJAX à un intervalle défini.

Mais tout cela est vraiment nouveau pour moi et je ne suis pas sûr que ce soit la meilleure approche. Et si je suis sur la bonne voie, je sais que PHP + Apache ne va pas gérer quelque chose comme ça bien. Mais PHP est la seule langue que je connais. Je voudrais idéalement comme pour mettre en place quelque chose comme Tornado en Python, mais je ne suis pas sûr si je suis sur l'ingénierie en ce moment ou non.

Toute pensée serait ici utile et très apprécié.

Était-ce utile?

La solution

Ce fut une assez rapide redressement, mais je suis retourné à travers et mon application en profile faisant écho à microtime() dans tous les processus pertinents. Avère que je ne suis pas parallélisation mes demandes cURL et qui est où je prends le coup réel. Il faut environ 2 secondes pour le faire, ce qui signifie des délais très longs alors que chaque demande de cURL se fait successivement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top