2013-10-25 3 views
0

나는 코드의 첫 글자로 파티션 된 1000s의 할인 코드를 저장하는 Azure 테이블을 가지고 있으므로 대략 1000 개의 레코드가있는 약 30 개의 파티션이 있습니다. 내 응용 프로그램에서는 코드를 입력하고 테이블에서 특정 레코드를 가져옵니다. 그런 다음 할인 코드를 업데이트하여 사용 된 것으로 말합니다. 1000 명의 동시 사용자로이 응용 프로그램을 30 초 동안로드 테스트 할 때 코드를 읽는 응답 시간은 1 초 미만이지만 레코드를 업데이트하는 데는 10 초 이상 걸립니다. 테이블 스토리지에 대한 일반적인 동작입니까 아니면이를 가속화 할 수있는 방법입니까?Azure 테이블 저장소가 느리게 레코드를 업데이트합니다.

//update discount code 

string code = "A0099"; 

CloudStorageAccount storageAccount = CloudStorageAccount.Parse("constring..."); 

CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); 

CloudTable table = tableClient.GetTableReference("discounts");    

string partitionKey = code[0].ToString().ToUpper(); 

TableOperation retrieveOperation = TableOperation.Retrieve<DiscountEntity>(partitionKey, code); 

TableResult retrievedResult = table.Execute(retrieveOperation); 

if (retrievedResult.Result != null) { 

    DiscountEntity discount = (DiscountEntity)retrievedResult.Result; 

    discount.Used = true; 

    TableOperation updateOperation = TableOperation.Replace(discount); 

    table.Execute(updateOperation); 

} 
+0

도움이 될 수 있습니다. http://stackoverflow.com/questions/12750302/how-to-achive-more-10-inserts-per-second-with-azure-storage-tables/12750535#12750535 –

답변

0

이 기본 동작하지 않습니다하지만 난 그것을 전에 본 적이 ... 더 큰 VM 크기, 빠른 I/O가 (어딘가에 MS의 문서를 프로그래머 때문에 무엇보다도 먼저, 당신의 VM 크기를 확인하는 뚱뚱한 VM은 "빠른 I/O"또는 이와 비슷한 것을 가지고 있다고 말합니다 ...) 그러나 10 초는 초소형 VM에서도 마찬가지입니다 ...

속도를 높이려면 다음과 같이하십시오 :

  • 한 번에 한 코드 씩 검색하는 대신 한 번에 한 코드 씩 "캐시"를 사용하여 사용하지 않은 코드의 전체 "문자"를 캡처 한 다음 캐시를 검색하십시오 남자가
  • 내 청춘에게 라이브 업데이트를 업데이트하는 대신, 캐시를 업데이트하고보다 당신이 확인할 수 있습니다
+0

답장을 보내 주셔서 감사합니다. 코드를 캐싱하는 것에 대한 좋은 아이디어가 있습니다. SQL Server에서 세션 변수를 업데이트하는 것과 비슷한 문제가 있습니다. 2 개의 코어와 3.5GB RAM이있는 중간 크기의 VM을 사용하고 있지만 더 큰 크기의 VM을 시도했습니다. 병 목이 내 건축물의 다른 곳에 있는지 궁금합니다. – markvpc

+0

@ CL4NCY 서버에서 SQL Server 인스턴스까지의 대기 시간이 클 경우 웹 서비스 호출을 확인하고 저장소가 동일한 데이터 센터/지역에 있는지 확인하십시오. – Leonardo

0

한 가지는 얼마나 많은 시간 대 특정 요청에 대한 E2E의 시간이 다시 일을 저장하기 위해 비동기 방법을 사용 서버가 요청을 처리하는 데 소비했습니다. 그러면 병목 현상이 클라이언트/네트워크 또는 서버인지 확인할 수 있습니다.

Windows Azure 저장소 분석 (특히 로깅)을 활성화하는 방법에 대한 자세한 내용은 How To Monitor a Storage AccountStorage Analytics 문서를 참조하십시오.

관련 문제