Dzień dobry. Mamy serwer napisany w C++, który akceptuje wiele połączeń SSL/TLS; używamy boost :: asio (więc backend to openssl), aby ustanowić SSL.openssl: zmniejszenie zużycia pamięci
Na serwerze mementu zużywa około 160-200 KB pamięci na połączenie i chcemy zmniejszyć to zużycie. boost :: asio używa domyślnie flagi SSL_MODE_RELEASE_BUFFERS, więc podstawowa optymalizacja jest już wykonana. Odtwarzanie z ctx->freelist_max_len
wydaje się nic nie zmieniać.
Jak to zrobić? Może mamy dodatkowe "tajne ustawienie"? Prawdopodobnie możemy bezpiecznie wyłączyć niektóre algorytmy szyfrowania, aby zmniejszyć zużycie pamięci?
masz spojrzał na którym pamięć jest alokowana? Może to być wszystko, od tego, co dałeś. Na przykład. wątek narzut? – sehe
@sehe zgodnie z ** masywem ** co najmniej 50% tej pamięci jest alokowane przez 'CRYPTO_malloc', więc bezczynne połączenia zabierają dużo pamięci i próbuję jakoś zoptymalizować tę część. Jest to ważna część, ponieważ w każdym punkcie czasowym 99% klientów pracuje na biegu jałowym. – PSIAlt
Czy jesteś pewien, że to połączenie? Powinna to być sesja SSL, jeśli OpenSSL działa poprawnie. To nie to samo. – EJP