İyi günler. Birçok SSL/TLS bağlantısını kabul eden C++ üzerinde yazılmış bir sunucumuz var; SSL kurmak için boost :: asio (yani backend openssl) kullanıyoruz.openssl: bellek kullanımını azaltma
Bağlantı sunucusunda bağlantı başına yaklaşık 160-200kbayt bellek kullanıyor ve bu kullanımı azaltmak istiyoruz. boost :: asio varsayılan olarak SSL_MODE_RELEASE_BUFFERS bayrağı kullanıyor, bu yüzden temel optimizasyon zaten yapıldı .. ctx->freelist_max_len
ile oynamak hiçbir şey değiştirmiyor gibi görünüyor.
Bu nasıl yapılabilir? Belki de ek bir "gizli ayar" var mı? Muhtemelen bellek tüketimini azaltmak için bazı şifreleme algoritmalarını güvenle devre dışı bırakabiliriz?
bellek tahsis ediliyor nerede baktı var? Verdiğiniz şeyden her şey olabilir. Örneğin. iş parçacığı mı? – sehe
@sehe ** massif ** 'e göre bu belleğin en az% 50'si CRYPTO_malloc tarafından tahsis edilmiştir, bu nedenle boşta bağlantılar çok bellek alıyor ve bu parçayı bir şekilde optimize etmeye çalışıyor. Her zaman noktasında, müşterilerin% 99'u boşta olduğundan önemli kısmı. – PSIAlt
Bağlantı başına olduğundan emin misiniz? OpenSSL düzgün çalışıyorsa, SSL oturumu başına olmalıdır. Aynı şey değiller. – EJP