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

우선 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]

... 31  32  [33]  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
5040농상8/14/20188480정규표현식에 대해서 [3]
5039유영태8/14/201810034비동기 소켓사용후 해당 스레드가 남아있을때 처리 방법 [4]파일 다운로드1
5038이정석8/9/20188213서버파일 로컬파일 비교 [2]
5037jjh8/8/201811622c# 으로 화면캡쳐해서 동영상으로 만드는앱을 만들고싶습니다 [6]
5036볼딱지8/8/20189435C# programming 개발 관련 질문이 있습니다. [1]
5035궁금합니...8/8/201810124C# 버전 고민 어떤 책을 사야하나요? [1]
5034신동열8/8/20188467덤프 파일 분석 관련해서 문의 드려요. [1]
5033최규성8/7/201810568C# WinForm, Oracle 9i 로 프로그래밍시 ODP.NET, 배포 설정 방법 질문입니다. [6]
5032이정석8/6/201812420C# 으로 만들 dll 등록 [7]
5031J.S.8/6/20188073System.Array class의 구조에 대한 질문 [1]
5030농상8/4/20188600람다 식을 이용한 메서드 정의 확대를 공부하고 있습니다. [2]
5029Soul...8/3/20188090C# ActiveX 컨트롤 질문드립니다. [4]
5028도토리8/1/20188601혹시 회사에서 TFS 구축시 SQL-Server 라이선스 정책 아시는분 계신지요? [2]
5027농상7/31/20189435Freachable Queue의 발음을 표기하면 어떨까요? [2]
5026농상7/31/201811926소멸자의 이름에 대해서 [2]
5025김기철7/30/20189380selenium 질문좀 드릴개요 [3]
5024농상7/29/20188618패턴 매칭 when에 대해서 질문있습니다. [2]
5023농상7/28/201811611패턴매칭에 대해서 질문 있습니다. [1]
5022농상7/28/20188634튜플에 대해서 건의가 있습니다. [1]
5021농상7/27/20188138예외필터에 대해서 질문이요 [4]
5020농상7/27/201811026null 조건 연산자 예제에서 잠깐 혼동이 일어났습니다. [1]
5019농상7/26/201813354오버플로우와 언더플로우 [2]
5018이재윤7/26/20189736정말 간단한 질문일 수 있는데요! [1]
5017나나7/24/201813234Stopwatch.ElapsedTicks와 Stopwatch.ElapsedMilliseconds [9]
5015지누7/18/201810191ASP.Net Core 를 안드로이드에서 작동하는게 가능한가요? [1]
5016지누7/19/20187360    답변글 [답변]: ASP.Net Core 를 안드로이드에서 작동하는게 가능한가요?
... 31  32  [33]  34  35  36  37  38  39  40  41  42  43  44  45  ...