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

우선 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)
4719이민구4/29/201612041[시작하세요! C# 프로그래밍] 4.5.1.6 열거형 마지막 예제 질문입니다. [4]파일 다운로드1
4718ds4/27/201610355오라클 DB 칼럼에 있는 특정 데이터를 가져올수가 있나여? [1]
4717최령진4/26/20169432모바일 웹 앱 관련문의 드립니다 [1]
4715과객4/7/201611433TFS 와 Stylecop Integration 시 체크인 정책 적용 방법이 궁금합니다. [1]
4714임형복4/7/201611365DLL 을 프로세스처럼 사용하기 [3]파일 다운로드1
4713김태훈4/5/201611572하위 폴더 권한 상속 문제 [1]
4712차가워4/5/201613281멀티코어 스레드 문의 [1]
4711이대희4/1/201610764Xamarin 라이센스 변경 (Visual Sutuio 무료 사용) [2]
4709가가멜3/25/201635158국내 WPF 책은 왜 2010 년 이후로 전멸인지요? [1]
4704최훈3/15/201615067C# 6.0 예제 7.1 관련 질문입니다. [2]
4702popo3/14/201614563C# WeakReference이 CPU 플랫폼 설정 마다 결과가 틀리게 나옵니다. [9]
4701쌉쓰릅3/13/201612277uwp에서 그림판의 지우개 기능을 구현하려고하는데요 참고할 만한 정보가 있을가요? [2]
4700정우진3/12/201610679안녕하세요. 10049소켓에러의 해결법을 알고싶습니다. - 수정본 [1]파일 다운로드1
4699정우진3/11/201613468안녕하세요. 10049소켓에러의 해결법을 알고싶습니다. [1]
4698지나가는3/10/201612068안녕하세요. 주기적으로 일어나는 .net 관련 질문이 있습니다 [1]
4697정우진3/9/20169685안녕하세요. AWS EC2를 이용한 서버 개발에 대해 질문드립니다. [1]
4696삽질맨3/9/201614256Winform Cold Start 로딩 속도 개선 방법이 없을까요? [1]
4695popo3/9/201612015wpf의 ICommand 질문 입니다. [5]파일 다운로드1
4694아무개2/28/201611633책 잘보고있습니다~ [1]
4693초보2/25/20169825카카오톡 오류 질문 [1]
3701강준2/19/2016193012개의 DataTable Join 결과 전체 컬럼을 DataTable 로 리턴하기 [5]
3700박성훈2/18/201610910시작하세요! C# 6.0 프로그래밍 105쪽 예제 질문 [1]
3699박성훈2/18/201610516공부 방향성 질문 [2]
3698강준2/16/201611126Entity Framework 에서 Select for Update 가 가능한가요??? [1]
3697ds2/16/201610670어느 정도 문법을 알고 나면 [6]
3695Bere...2/15/201612919호출당한 메서드가 호출한 메서드를 알 수 있는 방법이 일반적인 방법 말고도 있을까요? [2]
... 31  32  33  34  35  36  37  38  39  40  41  42  43  44  [45]  ...