2013-04-24 5 views
1

비즈니스 로직을 적용하고 문자열 값 (Old 또는 New)을 반환하는 데 필요한 인수를 기반으로하는 웹 서비스가 거의 없습니다.이 서비스는 프로덕션 환경에서 자주 사용됩니다 (초당 10 개 이상의 요청). 비즈니스 로직을 구현하는 가장 좋은 방법은 무엇이며, 나는 그 서비스가 매우 신속하고 신속하게 대응되기를 바랍니다.웹 서비스 성능 향상

  1. SQL 테이블에 데이터 (조건)를 저장하고 C#에서 비즈니스 로직을 적용하고 값을 반환합니다.
  2. XML 파일에 데이터 (조건)를 저장하고 매번 파일을 읽고 C# 및 반환 값으로 비즈니스 로직을 적용합니다.
  3. SQL 테이블에 데이터 (조건)를 저장하고 저장 프로 시저를 작성하여 SP에서 비즈니스 로직을 구현하고 서비스 값을 반환합니다.

참고 : 데이터 (조건)는 자주 변경되지 않습니다.

이 문제를 해결하는 가장 좋은 방법을 제안하십시오.

답변

0

가장 빠른 방법은 비즈니스 논리 앞에 일부 메모리 캐시 계층 (예 : redis)을 푸시하는 것입니다. 이 솔루션의 효과는 얼마나 많은 인수 조합이 가능한지에 달려 있습니다. 많지 않은 경우 - 조건이 변경되면 항상 메모리에 모두 저장하고 캐시를 무효화 할 수 있습니다.

데이터가 자주 변경되지 않는다고하셨습니다. 내 질문은 - 데이터 (조건) 변경 사항을 실시간으로 사용자에게 제시해야하거나 지연이 가능한지 여부입니다. 그렇다면 리버스 프록시 캐싱 (예 : 바니시)을 사용할 수 있으며 이는 매우 빨라야합니다.

+0

예, 데이터 (조건) 변경 사항은 실시간으로 제공되어야합니다. 지연이 허용되지 않습니다. – srieen

0

성숙 최적화는 위험한 일입니다. 내 2 센트, 가능한 한 빠르고 쉽게 먼저 구축하는 것이 좋습니다. 그런 다음 '더 나아질'수 있습니다. 레이어 등을 추가하십시오. 마지막 단계는 '빨리 만듭니다'입니다. 첫 번째 단계를 밟기 전에 마지막 단계를 생각하고 있습니다.