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

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

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5932EK4/12/2024488다음 제네릭에서 널익셉션이 뜨는 이유를 알수있을까요? [1]
5931이대희4/2/2024835Windows 앱 SDK C# 템플릿의 용도가 무엇인지요? [1]
5930vict...2/22/20241717ef core, FromSqlRaw 맵핑 질문입니다. [4]
5929a2/17/20241799.Net 8 에서 디버거 변경 [1]
5928vict...2/5/20241952wpf에서 대량 데이터 보여주는 방법 추천 부탁드립니다. [1]
5926엄태영1/12/20241921잘못된 Task 사용으로 인한 데드락 관련 질문 입니다. [3]
5925Euni...12/22/20231861Visual Studio에서 nodejs 사용시 npm install -g @vue/cli 실행시 오류 [1]
5924Euni...12/21/20231929Visual Studio에서 nodejs 사용시 C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules\npm\bin\npm-cli.js" prefix -g 를 찾지 못하는 설치 오류 [2]
5923정두호12/4/20232387MSSQL 데이터 전송과 공유폴더의 데이터 전송 차이점 [1]
5922Heeg...10/27/20234598C++의 double pointer를 C#에서 구현하는 방법이 잘 안됩니다. [3]
5921한예지 donator10/3/20234396마샬링 정의 및 목적이 궁금합니다. [5]
5920한예지 donator10/3/20233210C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/20232902WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/20232987동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/20233147Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/20233069비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/20232908.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/20232988지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/20235161[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/20233502Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/20233354Async 메서드와 try~catch [1]
5909guest4/22/20233743Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/20233607텅빈 원그리기 [5]
5907민성4/21/20233235안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/20233368Dispatcher 서비스 구현 질문 [1]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...