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

우선 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)
5152세퉁5/3/20199278인터넷 시간을 불러와 pc에 적용 시키고 싶습니다. [3]파일 다운로드1
5151이대희5/3/20197391C# 7.3으로 개정판 출간 계획이 있으신가요? [1]
5150김이현5/2/20198768C# 딕셔너리 생성에 대해 질문드립니다. [1]
5149민성5/1/20197019ftp 이미지 업로드중 [1]
5148wpf질문4/30/20197386특정 사이트를 wpf에서 popup을 항상 허용하게 할려면 어떻게 해야할까요? [5]
5147민성4/30/20196392wpf에서 작업관리자를 띠울려면 어떻게 해야 하나요? [1]
5146불파겐4/25/20196462하나의 필드를 여러 스레드에서 읽어갈 때 스레드 동기화를 하지 않으면 문제가 생길까요? [2]
5145e구름4/17/20199430Properties.Setting.Default값에 대해 질문드립니다. [2]
5144성태님 ...4/17/20196617질문하시기 전에 10000 페이지 오류 납니다. [1]
5143헌이4/16/20197551윈도우 작업표시줄에 프로그램 띄우기 [2]파일 다운로드1
5142cab2...4/9/201913113C#으로 만든 DLL 배포하기 [10]
5141하늘사랑4/5/20198008Axinterop 래퍼에 관해서 질문드립니다. [7]
5140게스트4/1/20197655안녕하세요. 초보 개발자입니다. SD리더기에서 SD카드를 꽂으면 발생하는 이벤트 문의 [2]
5139김이현3/28/201910861C#에서 CRON 같은 스케줄러를 사용하려면 어떻게 해야 하나요? [3]
5138김지원3/22/20198505유니티 쉐이더에서 오로지 포워드 애드 패스로만 만들 수 있을까요? [1]
5137세퉁3/22/201910431wpf 쓰레드에 대해 질문 있습니다. [4]
5136KGY3/13/20197111안녕하세요 닷넷코어 콘솔 프로그램 관련 질문입니다. [1]
5135러쎌3/13/20197555ASP.NET 공부 관련해서 문의를 드립니다. [1]
5134이정호3/12/20196949SampleProfiler 예제를 이용한 Class 객체의 접근 문의 [1]파일 다운로드1
5133ㅇㅇ3/12/20197831멀티코어사용 방법에 궁금한것이 있습니다. [3]
5132존기미3/3/20198077Physical Disk Access문의 [1]
5131강용규2/25/20197182c# 개발자입니다. 타이머 질문드립니다. [1]
5130노인코래방2/25/201910707C#에서 가장 좋은 성능을 보이는 파일 읽고 쓰는 방법이 무엇인가요? [2]
5129진우2/23/201910174닷넷 32비트 기반에서 메모리 부족으로 프로그램이 죽는경우 문의 [2]
5128게스트2/23/20197848안녕하세요. 초보개발자입니다. [3]파일 다운로드1
5127c#2/20/20196881책에 예제 문의드립니다. [2]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...