-
Why asp.net is too slow? compared to Java Spring.프로그래밍 2024. 1. 9. 22:01
asp.net 개발자는 종종 spring과 여러 성능면에서 비교를 강요 받는다.
왜 asp.net이 느리다고 하는 것일까?
이유는 당신이 잘 못 개발하고 있기 때문이다.
아래와 같은 이유로 당신은 잘 못 개발하고 있다.
- 1. Session을 함부로 사용하지 마라.
- 대량의 컬렉션 객체를 Session에 할당하지 마라. Session은 그렇게 사용하라고 있는게 아니다.
- 기본적으로 Session은 느리다.
- 2. Cookie를 사용해라.
- 단, 민감한 정보는 절대 들어가면 안된다.
- 유저를 최소한 식별할 수 있을 정도만 사용하라.
- 화면 상태를 저장하고 싶거든 indexeddb를 사용해라.
- 3. 싱글톤과 스코프를 사용해라.
- 설정 정보라면 싱글톤을
- 일반 로직이라면 스코프를
- 4. HttpClient는 스레드 세이프이다.
- 싱글톤으로 사용해라.
- 5. DataTable을 사용하지 마라.
- 어떤 이유에서도 웹 개발에 피해야 할 악마는 DataSet과 DataTable이다.
- 6. razor rendering에 너무 의존하지 마라.
- javascript 로 처리하는게 더 빠를 수 있다.
- razor view는 객체를 생성하라고 있는 곳이 아니다.
- razor에서 db connection 처리를 하지 마라.
- 당신이 작성한 코드 때문에 모두가 불행해 진다.
- 7. .net framework를 사용하지 마라.
- .net 6 이후 부터는 모든 면에서 .net framework보다 성능이 좋다.
- 8. Web 서버는 당신이 기대하는 것보다 훨씬 느리다.
- 페이징해라.
- 캐시해라.
- 압축해라.
- bunding 해라.
- 9. IIS는 .net core 이후로는 proxy다.
- 이것을 이해해라.
- 모든 .net core 이후의 .net은 콘솔 프로그램이다.
사실, 위 사항은 spring을 사용한다면 이미 무의식으로 하고 있을 일이다.
그저, 닷넷 개발자들이 잘 못 하고 있을 뿐...
'프로그래밍' 카테고리의 다른 글
로그인을 구현하시나요? 당장 Session사용을 멈추세요. (0) 2024.02.15 ASP.NET 개발에서 DataTable은 만악의 근원입니다. (0) 2024.02.15 DTO 클래스 대신 C# 레코드 사용 (0) 2023.12.03 NET 8 및 C# 12 - ref readonly 매개 변수 (1) 2023.12.03 기본 생성자는 C# 개발자에게 문제를 일으켰습니다. (0) 2023.12.03 - 1. Session을 함부로 사용하지 마라.