꿈 절대로 : 온라인에 게시 된 블로그 사이트의 윈도우 닷넷 코어 버전 배포 : .NET의 핵심 성능이 대회의 "창"으로 Windows에서 더 나쁘다

18시 15분 지난 밤의 주위에 우리는 윈도우 닷넷 코어 블로그 시스템에서 실행하기 위해 출시 된 .NET 프레임 워크 버전과에서 수행하고 싶었다 은 "창"과 전투 , 단지 라인에-비정상적으로 높은 CPU 사용량을 발견의 결과를 발표 한 시간보다 적은 출시 조립 라인에서 그냥 땅에 가져 와서, 거기 수준의 대회가 아니거나 심지어 .NET 코어 대회는 자격이 없습니다.

리눅스에 .NET 핵심 블로그 시스템 (고정 표시기-작성 배포와 고정 표시기 떼)과 비교하면 리눅스에 배포하는 것은 거의 접근 피크 및 Windows 낮은 배포에도 액세스 할 때, 레벨 경연 대회되지 않습니다 피크가 간신히 들고 있습니다.

어제 게시 실패 후, 우리는 의심 클라이언트를 memcached를 EnyimMemcachedCore 비동기 방법을 사용하는 경우로 인해 비정상적으로 높은 CPU의 동시성 문제에, 그래서 우리는 비동기 동기로 변경 할 수 있습니다.

우리가 EnyimMemcachedCore 동시 성능 문제가 있는지 여부를 확인 오늘, 우리는 새로운 접근 방식, 흐름의 액세스 부분, QPS 단일 서버가 특정 값에 도달 할을 채택하고, 다른 결코 꿈없는 문제를 발견했다.

QPS가 높지 않을 때 Windows .NET 핵심 블로그 사이트 성능에서 실행되는 빠른 응답 시간, 아주 좋은입니다. 특정 값 위의 QPS는 (우리가 교통 액세스를 테스트 할 때 약 300 ~ 500에서 QPS을) 때, NET 다른 사람이 응답에 많은 수의 요청과 같은 핵심 블로그 사이트는 우리가 모니터링을 시작 5 초에서 있습니다 (천천히, 그리고 시간이 지남에 따라 점점 더 느리게 (누설의 일종), 최초의 오초에 대한 많은 요청에 응답하기 ) 다음 약 10 초 약 15 초. . . 그런 다음 많은 오류를 기록

2019년 8월 14일 13 : 13 : 16.290 [오류] DbCommand을 실행 실패 ( "30022"MS)
System.Data.SqlClient.SqlException은 (0x80131904) : 제한 시간이 만료되었습니다. 작업을 완료하기 전에 또는 서버에 경과 된 타임 아웃 기간이 응답하지 않는다. 
 ---> System.ComponentModel.Win32Exception (258) : 대기 작동이 시간 초과되었습니다. 
   시에는 System.Data.SqlClient.SqlCommand. <> C. <ExecuteDbDataReaderAsync> b__126_0 (Task`1 결과) 
   System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke ()에서 
   System.Threading.ExecutionContext.RunInternal에서 (ExecutionContext에 ExecutionContext에, ContextCallback 콜백 개체 상태) 
--- 예외가 --- 던져진 이전 위치에서 스택 추적의 끝 
   System.Threading.Tasks.Task.ExecuteWithThreadLocal (작업 및 currentTaskSlot에서 threadPoolThread 스레드)

많은 EF 핵심 SQL 쿼리 실행 제한 시간 (30 초),이 아무 문제에 의해 생성 된 EF 코어 SQL 문, 우리는 너무 검토합니다.

보기 모니터링 데이터베이스 라이브러리 서비스,이 점 QPS에 놀람의 무언가가, .NET 코어가 Windows 데이터베이스 서버에서 실행해서 실제로 100 %의 CPU 원인이됩니다.

그리고 한 라인에 대한 .NET 핵심 블로그 사이트, 데이터베이스 서버의 CPU가 즉시 정상으로 돌아에 관해서는, 문제는 매우 이상하다.

마이크로 소프트는 오늘 또한 발표 는 .NET 3.0 핵심 미리보기 (8)  우리의 System.Data.SQLClient이 같은 문제가 4.7.0-preview8.19405.3로 업그레이드됩니다.

우리의 데이터베이스 서버 R2 지원하지 않습니다 EF 코어 3.0 미리보기 (6)에서 시작 인해 3.0.0-preview5.19227.1 사용 EF 코어 알리 클라우드 RDS의 SQL 서버 2008입니다 UseRowNumberForPaging는 , 우리는 EF 코어 3.0 미리보기 8로 업그레이드하지 나는 EF 코어의 최신 버전은 또한이 문제가 있는지 모르겠지만, 우리는 문제가 SQL 서버 2008 R2의를 위해, 적어도의 System.Data.SQLClient Windows 용 지원 문제, 또는 지원 문제를의 System.Data.SQLClient해야한다고 생각한다.

.NET 핵심은 도로를 업그레이드하고 새로운 장애물을 만났다.

관련 보웬 :

추천

출처www.cnblogs.com/cmt/p/11351367.html