login register Sysop! about ME  

2017년 10월 25일 23시 28분 00초,     조회수 : 343
  제목 : mvc 와 entityFramework 에 대해서...
SEQ : 36957 글쓴이 : xweber

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

현재 asp 로 15년째 운영중인 사이트가 있습니다.
언어도 오래되고 사용자나 누적 데이터도 많아 그런지 DB튜닝 서버증설 해도 
눈에 띄게 빨라지거나 좋아진것 같지는 않네요...
그래서 좋아질거라는 기대감으로 시스템을 asp.net mvc 로 바꿀려합니다.
좋아지겠죠?^^

저의질문은 mvc5 에서는 반드시 entityFramework를 사용해야 되는지 입니다.
저희 사이트가 10년 이상 운영중이다 보니 스탠다드한 느낌보다는 아주 커스텀하게 개발되어 있습니다.
프로시져도 상당히 많고 db관련 해서 유연하게 대처해야되는 상태입니다.

그래서 ef를 사용하게 되었을때 상당히 많은 문제점들이 나타날거 같습니다.

제 입장에서도 아직은 ef 보다는 직업쿼리를 짜고 db에서 쿼리를 돌려 확인하면서 개발하는게 더 믿음이가고 익숙한것 같습니
다.
mvc 도서나 관련자료를 봐도 모두 ef 를 이용하더군요...
대세를 따라가야 될지 이전방식으로 가야될지 여러분들의 의견을 듣고 싶네요~~


  taeyo
  2017-10-26(09:13)
캐릭 이미지
EF는 선택사항이지 필수사항은 아닙니다.
Dapper 같은 가벼운 ORM도 많이들 사용하곤 합니다.
프로시저도 많고, 기존 데이터베이스도 활용해야 한다면
더우기 EF에 익숙하지 않다면 굳이 사용하시는 것을 권장하고 싶진 않습니다.

  xweber
  2017-10-26(10:13)
캐릭 이미지
우선 기존 ADO.NET 방식으로 사용하다 추후에 EF 로 전환 하는 방법으로 생각해보는게
좋겠군요.
답변감사드립니다~

  ciwciw
  2017-10-26(11:06)
데이터가 많아서 DB튜닝 + 서버증설 .... 해도 눈에 띄게 빨라지지 않는다면...

asp.net mvc 로 바꿔도 역시 빨라지거나 좋아지는 것을 느끼지는 못할겁니다...

스크립트 언어와 런타임 컴파일 언어의 특성상 런타임 컴파일 언어가 조금(?) 더 성능이 우
수하지만...

실제로 피부로 아 빨라졌다 라고 느끼는 부분은 역시 DB입니다....

  ciwciw
  2017-10-26(11:14)
심증만 가지 물증이 없는 상황이라 단언을 내릴 수는 없습니다만...

IIS 에서 내부적으로... 캐쉬(?) 같은 기술을 사용하는 걸로 추정됩니다...

그래서 스크립트 언어인 vbscript 도 마치 DB에서 프로시저 사용하는 것과 같이...

컴파일해서 메모리에 적재했다가 사용되는 거 같습니다...

제 심증이 맞다면... 사실상 asp 나 닷넷 이나... 성능(빠르기)의 차이는 없구요...

  ciwciw
  2017-10-26(11:19)
제 경험상... Site 의 성능은 거의 99% DB 입니다...

DB 모델링이 얼마나 잘 되었느냐... Index 는 잘 걸려있는지... Index를 잘 타고, Sorting
을 거스르지 않게 효율적으로 쿼리가 잘 짜여졌는지 ... 등등등....

Table에 데이타가 몇억건 수준으로 많다면... 백업 테이블을 만들어서 오래된 자료 등등은
백업 테이블로 옮기고 실행 Table의 게시물 수를 확실하게 줄여주는 방법 등...

Site 성능(?)을 올리려고 하면 죽기살기로 DB 입니다...

  hskim618
  2017-10-26(11:35)
캐릭 이미지
저도 ADO.NET을 사용하다 Dapper로 모두 변경했습니다.
DB조회 부분을 DAL로 분리했다면 변경 작업은 아주 쉽습니다.
처음부터 Dapper로 개발했다면 코딩을 더 빨리했을 겁니다.
Dapper 추천합니다.

  hskim618
  2017-10-26(11:41)
캐릭 이미지
낮은 성능의 하드웨어로 높은 성능을 낼 수 있는 개발 기법은 캐싱입니다.
예를 들어 자주 사용되는 소규모의 데이터를 웹서버 메모리에 올려 사용하면
성능이 획기적으로 올라갑니다.
웹서버 메모리 사용이 곤란한 경우 웹서버와 DB사이에 Redis를 두고 사용해도 됩니다.
ASP.NET은 캐싱 라이브러리가 잘 되어 있습니다.
이를 잘 사용하면 경우에 따라 많은 성능 향상이 가능합니다.

  xweber
  2017-10-26(11:54)
캐릭 이미지
ciwciw님 말씀처럼 DB가 가장중요한거 같습니다.
현재 데이터 1억건이 넘는 테이블만 20개 정도 되네요..
자주 조회하는 데이터라 삭제도 못하구.. 머리좀 아프네요ㅡㅡ
아무래도 asp보단 성능면에서 좋아지겠죠...

hskim618 님께서는 mvc + Dapper 조합을 추천 하시는거죠?
이조합으로 좀 알아봐야겠네요^^

  hanuijun
  2017-10-28(03:26)
캐릭 이미지
잠깐 짬내서 어디서 느려지는지 찾는게 우선인거 같네요... EF는 첨에 잘못 사용하면 데이터
한건 가져오려다가 테이블 전체 다 메모리로 가져오는 실수를 할수도 있습니다. 문제는 이 실
수를 하고있어도 정작 결과는 나오니 이 문제가 있는지 조차 모르는게 더 큰 문제가 될수도 있
습니다.



제목 작성자 날짜 조회
mvc 와 entityFramework 에 대해서... (9) xweber 2017-10-25 343

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})