शुभ दिन। हमारे पास सी ++ पर एक सर्वर लिखा गया है जो कई एसएसएल/टीएलएस कनेक्शन स्वीकार करता है; हम एसएसओ स्थापित करने के लिए boost :: asio (इसलिए बैकएंड openssl) का उपयोग कर रहे हैं।openssl: स्मृति उपयोग को कम करने
यादगार सर्वर पर प्रति कनेक्शन लगभग 160-200 किलोबाइट मेमोरी का उपयोग कर रहा है और हम इस उपयोग को कम करना चाहते हैं। boost :: asio डिफ़ॉल्ट रूप से SSL_MODE_RELEASE_BUFFERS ध्वज का उपयोग कर रहा है, इसलिए मूल अनुकूलन पहले ही हो चुका है .. ctx->freelist_max_len
के साथ खेलना कुछ भी नहीं लगता है।
यह कैसे किया जा सकता है? शायद हम एक अतिरिक्त "गुप्त सेटिंग" है? शायद हम मेमोरी कंसशन को कम करने के लिए कुछ एन्क्रिप्शन एल्गोरिदम सुरक्षित रूप से अक्षम कर सकते हैं?
तुम कहाँ स्मृति आवंटित किया जा रहा है को देखा है? यह कुछ भी हो सकता है, जो आपने दिया है। जैसे थ्रेड ओवरहेड? – sehe
@sehe ** massif ** के अनुसार ** इस स्मृति का कम से कम 50% 'CRYPTO_malloc' द्वारा आवंटित किया गया है, इसलिए निष्क्रिय कनेक्शन कई मेमोरी ले रहा है और मैं इस हिस्से को किसी भी तरह अनुकूलित करने की कोशिश कर रहा हूं। प्रत्येक टाइमपॉइंट 99% ग्राहकों के बाद से इसका महत्वपूर्ण हिस्सा निष्क्रिय है। – PSIAlt
क्या आप वाकई प्रति कनेक्शन हैं? यह एसएसएल सत्र होना चाहिए, अगर ओपनएसएसएल सही तरीके से काम कर रहा है। वे एक ही बात नहीं हैं। – EJP