Ma question se rapporte aux coûts de cryptage d'OpenSSL pendant la charge, et voici le problème: Lorsque vous travaillez avec SSL sur IMAP4 (en utilisant une application que nous écrivons, une sorte de proxy IMAP4) , nous récupérons les messages de deux manières différentes: 1. aller chercher complètement. 2. extraction partielle (extraction de morceaux). Le premier tronçon du fetch partiel et du fetch complet est presque équivalent en effort pour l'application. Ce qui se passe, cependant, c'est que lorsque nous renvoyons les données au client (soit le corps entier ou seulement une partie de celui-ci), nous obtenons des temps de réponse ridicules en raison du cryptage SSL. Nous voyons clairement que plus les données sont grandes, plus le temps qu'OpenSSL utilise pour le chiffrer (linéaire à la taille, et plein ou partiel le montre magnifiquement.) Le problème n'est pas qu'il prenne plus de temps, mais le temps absolu prend). Cela nous amène à une situation dans laquelle la récupération complète de 80 Ko peut entraîner un temps de réponse de 7 secondes (contre un peu plus de 1 seconde lorsque vous n'utilisez PAS le protocole SSL). Est-ce que quelqu'un a déjà rencontré un problème similaire? Y a-t-il une chance que de tels frais généraux soient réalistes? Est-ce que quelqu'un a une idée pour accélérer les données au client (sans ajouter d'accélérateur externe)? Merci.Le cryptage OpenSSL prend beaucoup de temps en charge
0
A
Répondre
0
Puisque vous mentionnez que vous êtes produit est un proxy que vous avez écrit, je voudrais d'abord regarder si le problème peut être lié à Nagle's algorithm. Quand je vois les performances du socket tomber à travers le sol, c'est la première chose que je vérifie. Fondamentalement, vous devez vous assurer que vous écrivez et vider les données au bon endroit dans votre programme. Si vous le faites mal, par défaut, il y aura un délai de 0,2 seconde avant l'envoi des données. Ces retards s'accumulent rapidement, en particulier lors de petites demandes fréquentes.
Questions connexes
- 1. presentModalViewController prend beaucoup de temps et de l'écran devient blanc
- 2. autoconf/configure prend beaucoup de temps dans cygwin
- 3. NHibernate.ISession.Flush() prend beaucoup de temps après un Delete() - Opération
- 4. L'application .NET prend beaucoup de temps pour afficher les pages
- 5. IE prend en charge JQuery
- 6. MS Visio prend-il en charge le diagramme de séquence?
- 7. JSPTag: Exception - Cet attribut ne prend pas en charge les valeurs de temps de demande
- 8. NSHost prend énormément de temps
- 9. PHP/Curl: HEAD Request prend beaucoup de temps sur certains sites
- 10. DB2 Client v9.5 sur Win 2003 Prend beaucoup de temps pour établir la connexion
- 11. Pourquoi MySQL Data Connector prend-il beaucoup plus de temps que MySQL Query Browser?
- 12. iPhone ASIHTTPRequest prend en charge https?
- 13. SQLite prend-il en charge SCOPE_IDENTITY?
- 14. Le compilateur d'exécution .Net prend-il en charge C# 3.0?
- 15. Conversion de WAV en Speex prenant beaucoup de temps
- 16. PowerShell prend-il en charge OOP?
- 17. La transition de transition prend du temps
- 18. Pourquoi file_get_contents prend-il autant de temps?
- 19. Comment COM prend-il en charge les paramètres optionnels?
- 20. Castle IoC - ISubDependencyResolver qui prend en charge la libération (...)?
- 21. Adobe Flash prend-il en charge les bases de données?
- 22. NetTCPBinding de WCF prend-il en charge Socks Proxy?
- 23. Chrome ne prend pas en charge cette chaîne de requête
- 24. CouchDB prend-il en charge plusieurs requêtes de plage?
- 25. MS-SQL prend-il en charge les tables en mémoire?
- 26. SQLAlchemy prend-il en charge la mise en cache?
- 27. GetMovieAudioVolumeLevels() prend-il en charge plus de deux canaux audio?
- 28. SharePoint prend-il en charge les langages de balisage Wiki?
- 29. XtUnit prend-il en charge les tests de performances?
- 30. Le service Web MSCRM prend-il en charge les transactions de base de données?