Microsoft MVP성태의 닷넷 이야기
MariaDB - ASP.NET오류의 원인조차 못 찾고 있습니다.. [링크 복사], [링크+제목 복사],
조회: 45080
글쓴 사람
노태현
홈페이지
첨부 파일

우선 iis의 오류 로그부터 붙여넣기 하겠습니다.
================================================
Event code: 3005
Event message: 처리되지 않은 예외가 발생했습니다.
Event time: 2015-11-19 오후 8:01:49
Event time (UTC): 2015-11-19 오전 11:01:49
Event ID: ea20ff8fd9464ce1916bf32c1d064a7c
Event sequence: 111
Event occurrence: 3
Event detail code: 0

Application information:
    Application domain: /LM/W3SVC/24/ROOT-1-130924015956757299
    Trust level: Full
    Application Virtual Path: /


Process information:
    Process ID: 8064
    Process name: w3wp.exe
    Account name: IIS APPPOOL\

Exception information:
    Exception type: MySqlException
    Exception message: Reading from the stream has failed.
   위치: MySql.Data.MySqlClient.MySqlStream.LoadPacket()
   위치: MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   위치: MySql.Data.MySqlClient.NativeDriver.Open()
   위치: MySql.Data.MySqlClient.Driver.Open()
   위치: MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   위치: MySql.Data.MySqlClient.MySqlConnection.Open()
   위치: Erp.Common.BasePages.BasePage.GetAuthenticataion(Authenticate gp)
   위치: Erp.ORD.ORD03.ORD03_001.Page_Load(Object sender, EventArgs e)
   위치: Erp.Common.BasePages.BasePage.OnLoad(EventArgs e)
   위치: System.Web.UI.Control.LoadRecursive()
   위치: System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

전송 연결 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다에서 데이터를 읽을 수 없습니다.
   위치: MySql.Data.Common.MyNetworkStream.HandleOrRethrowException(Exception e)
   위치: MySql.Data.Common.MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   위치: MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   위치: System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
   위치: MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
   위치: MySql.Data.MySqlClient.MySqlStream.LoadPacket()

현재 연결은 원격 호스트에 의해 강제로 끊겼습니다
   위치: System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)



Request information:
    Request URL: http://
    Request path:
    User host address:
    User: 1111
    Is authenticated: True
    Authentication Type: Forms
    Thread account name: IIS APPPOOL\

Thread information:
    Thread ID: 20
    Thread account name: IIS APPPOOL\
    Is impersonating: False
    Stack trace: 위치: MySql.Data.MySqlClient.MySqlStream.LoadPacket()
   위치: MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   위치: MySql.Data.MySqlClient.NativeDriver.Open()
   위치: MySql.Data.MySqlClient.Driver.Open()
   위치: MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   위치: MySql.Data.MySqlClient.MySqlConnection.Open()
   위치: Erp.Common.BasePages.BasePage.GetAuthenticataion(Authenticate gp)
   위치: Erp.ORD.ORD03.ORD03_001.Page_Load(Object sender, EventArgs e)
   위치: Erp.Common.BasePages.BasePage.OnLoad(EventArgs e)
   위치: System.Web.UI.Control.LoadRecursive()
   위치: System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


Custom event details:
======================================
경로와 ip주소 등은 지웠습니다.

지금 사용하는 DB는 마리아 DB 5.5 버전을 사용하고 있으며 .NET Framework 버전은 4.5를 사용하고 있습니다.
사용하고 있는 툴은 devexpress입니다.(grid, combobox등 컨트롤을 위해 사용중입니다.)

위와 같은 오류가 발생하는 경우는 제가 만든 프로그램에서 db에 접속하여 데이터를 가지고 오면 몇 번은 잘 가지고 오다가
그 뒤부터 부하가 걸리는지 가지고 오는 속도가 느려지다 프로그램이 멈춰버립니다..(캡처이미지를 첨부했습니다.)
멈추면 alert창이 뜨는데 내용은 "Reading from the stream has failed." 입니다.

mysql forum에 mysql 버전문제라는 내용이 있어서 버전도 바꾸어 보았지만 동일한 문제가 발생하네요...
근데 또 고객사 자체적으로 iis서버를 둔 곳은 위와 같은 오류가 나지 않습니다.(똑같은 프로그램이며 db버전도 동일합니다.)
고객사와 다른 점은 저희 회사 db에는 여러 고객사의 데이터베이스가 있습니다.

혹시 위와 같은 오류가 나올 때 해결방도가 있을까요.. 며칠 째 iis설정, db variable(net_write_timeout 등의 변수) 설정을 다해봐도 똑같은 오류가 반복됩니다..
인원이 몇 안되는 회사이다보니 알아보는데 한계가 있어 염치불구하고 질문드립니다..








[최초 등록일: ]
[최종 수정일: 11/20/2015]


비밀번호

댓글 작성자
 



2015-11-20 02시28분
글쎄요. 환경적인 요인이 있을 수 있기 때문에 현상만 봐서는 뭐라고 짚어낼 수가 없군요.

혹시 iisreset하면 다시 잘 동작하나요? 만약 잘 동작한다면 일단 만드신 프로그램에서 뭔가 문제가 있을 듯 싶고, 그래도 잘 동작하지 않는다면 회사 db에 여러 고객사의 데이터베이스가 함께 있다고 했는데 아마도 그쪽 db에 연결을 맺은 다른 응용 프로그램들로 인해 함께 장애를 받는 것으로 추측해 볼 수 있을 것입니다. (고객사 자체적으로 iis서버를 둔 곳은 오류가 나지 않는다고 했는데, 그건 응용 프로그램에 문제가 있어도 표면화되지 않는 임계치에 해당하지 않았을 수 있으므로 너무 크게 단정을 지어서는 안됩니다.)

암튼, 다양한 테스트를 통해 정황을 살펴보면서 문제 접근을 해야하므로 사내에서 실력있는 분(또는 지인)에게 문제를 맡기는 것이 좋을 듯 합니다.
정성태
2015-11-21 02시18분
[ryujh] 안녕하세요.

오류 로그와 조치 사항을 보고 알려드립니다.

'현재 연결은 원격 호스트에 의해 강제로 끊겼습니다'

서버측에서 연결을 만들지 못하든지 현재 연결을 끊어서 그렇습니다.

답변글에서도 잦은 select 하다보니 연결이 많아지는 것도 그러하며 풀링 조치도 관련있습니다.

코드에서는 dispose 를 빨리해주고 datareader 보다는 dataset 사용이 좋습니다.

여러 고객사의 db가 있다면 서버 받아들일 수 있는 연결을 DB별로 나누기 때문에 DB가 처리할 수 있는 연결이 적을 수 있습니다.

서버 OS는 윈도, 어플리케이션과 DB가 같은 서버에 있지 않다고 가정하고, DB서버에서 netstat -ano 로 아이피/포트 연결을 확인할 수 있습니다.

ESTABLISHED 가 현재 연결이므로 이 개수를 참고하면 되겠습니다.


[guest]

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216289교재 315페이지 내용 질문 [3]
5484Syong4/16/20219848윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215341익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217126WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217451GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216508Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20218965C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20215962c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20216979POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216521사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216399디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217177등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20215814MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20215745yield 질문있습니다!! [2]
5469유호성2/6/20215304Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215698실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215566c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20215928두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216201C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20216948Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217344사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216742AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216079typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20216961C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202173709.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216400교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...