이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 52055|회답: 5

[출처] .NET/C# MySQL 데이터베이스를 위한 SslMode 성능을 최적화했습니다

[링크 복사]
게시됨 2021. 6. 18. 오전 9:41:15 | | | |
SSL(보안 소켓 계층)은 데이터 암호화, 인증, 메시지 무결성 검증 메커니즘을 사용하여 TCP와 같은 신뢰할 수 있는 연결을 기반으로 한 애플리케이션 계층 프로토콜에 보안 보증을 제공합니다. 사용자의 전송이 SSL을 통해 이루어지지 않는다면, 데이터는 네트워크를 통해 평문으로 전송되어, 숨은 의도를 가진 사람들에게 기회를 열어줍니다. 따라서 많은 대형 웹사이트들이 이제 SSL 기능을 활성화하고 있습니다. 마찬가지로 우리 데이터베이스에서는 클라이언트가 SSL 연결 대신 서버에 접속해 데이터를 얻으면, 전송 중에 데이터가 도난당할 수 있습니다.

SSL 프로토콜이 제공하는 주요 기능은 다음과 같습니다:

1. 데이터 전송의 기밀성: 전송된 데이터는 대칭 키 알고리즘을 사용하여 암호화됩니다.
2. 인증 메커니즘: 인증서를 기반으로 서버와 클라이언트는 디지털 서명 방식으로 인증되며, 클라이언트의 인증은 선택 사항입니다.
3. 메시지 무결성 검증: MAC 알고리즘은 메시지 전송 중 메시지의 무결성을 검증하는 데 사용됩니다.

.NET/C#을 사용해 MySQL 데이터베이스를 운영할 때,SslMode의 기본 값은 선호(Preferred)입니다서버가 지원한다면 SSL을 사용하세요.

하이퍼링크 로그인이 보입니다.



기본 방법을 사용할 때, 많은 동시성이 발생할 경우 오류는 다음과 같을 수 있습니다:

영어 메시지: 연결 열려 있음 오류. 호스트 '192.168.1.100'에 대해 사용자 'mysql_native_password' 메서드를 사용해 인증에 실패했습니다. 메시지: 스트림 읽기에 실패함.


연결 열림 오류. 연결 오류: 타임아웃 만료.  타임아웃 기간은 풀에서 연결을 얻기 전에 경과되었습니다.  이는 모든 풀 연결이 사용 중이고 최대 풀 크기에 도달했기 때문에 발생했을 수 있습니다.


SSL 사용은 데이터 전송의 보안을 보장하지만, 쿼리 및 실행 효율성을 떨어뜨려 데이터베이스와 프로그램에 대한 부담을 증가시킵니다. 우리 데이터베이스는 사설 네트워크 환경에 있기 때문에 비교적 매우 안전하며, 전송 암호화가 필요 없으므로 SSL 암호화 없이도 효율성과 성능을 향상시킬 수 있습니다.

SSL 성능 비교 전후 (QPS):하이퍼링크 로그인이 보입니다.



테스트 데이터를 보면, SSL을 활성화한 후 데이터베이스 QPS가 평균적으로 약 23% 감소하여 상대적으로 성능에 영향을 미칩니다. SSL 구현 관점에서 보면, 연결을 구축할 때 악수, 암호화, 복호화 등 다양한 작업이 필요합니다. 따라서 소요 시간은 주로 연결 단계에 집중되며, PHP 개발과 같이 짧은 링크를 사용하는 애플리케이션에서는 성능 저하가 더 클 수 있습니다. 하지만 연결 풀이나 긴 연결을 사용하는 것이 훨씬 나을 수 있습니다.

성능을 향상시키기 위해 연결 문자열을 다음과 같이 수정하세요:

(끝)




이전의:.NET/C#은 성능 향상을 위해 ThreadPool.SetMinThreads에서 최소 스레드 수를 설정합니다
다음:MySQL은 새 테이블을 추가할 때 테이블이나 필드가 존재하는지 여부를 결정합니다
 집주인| 게시됨 2022. 2. 11. 오전 11:33:08 |
MySQL .NET 연결 문자열 옵션:https://mysqlconnector.net/connection-options/
 집주인| 게시됨 2022. 2. 11. 오후 1:23:13 |
Java JDBC 문자열 속성

5.1 드라이버는 useSSL이고 RequireSSL입니다
https://dev.mysql.com/doc/connec ... props-security.html

sslMode 적용 8.0
https://dev.mysql.com/doc/connec ... props-security.html

SSL을 끄고 sslmode=disabled로 설정하세요
 집주인| 게시됨 2022. 2. 11. 오후 2:04:56 |
Java JDBC의 rewriteBatchedStatements, allowPublicKeyRetrieval...
https://www.itsvse.com/thread-10252-1-1.html
게시됨 2022. 4. 11. 오후 3:09:04 |
 집주인| 게시됨 2024. 8. 23. 오전 9:56:15 |
.NET/C#은 데이터베이스 연결을 비교하기 위해 SqlConnectionStringBuilder를 사용합니다
https://www.itsvse.com/thread-10625-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com