PowerPivot 예약된 데이터 새로 고침이 실패하고 "작업 시간 초과" 오류

이 문서는 지원 에스컬레이션 엔지니어 인 Rick Andring에 의해 작성되었습니다.

증상

하나 이상의 데이터 원본이 있는 PowerPivot 통합 문서를 만들고 통합 문서를 Microsoft SharePoint Server 2016에 업로드한다고 가정합니다. 통합 문서를 새로 고치도록 예약하면 다음 오류와 함께 새로 고침이 실패합니다.

작업 시간이 초과되었습니다.

새로 고침 기록을 확장하면 실패한 데이터 원본 새로 고침이 정확히 100초 동안 실행되는 것을 알 수 있습니다.

스크린샷은 실패한 데이터 원본 새로 고침이 데이터 새로 고침 기록 페이지에서 정확히 100초 동안 실행되는 것을 보여줍니다.

일부 데이터 원본이 성공하거나 모든 데이터 원본이 100초 이내에 새로 고쳐지면 간헐적으로 새로 고침이 성공한다는 것을 알 수 있습니다.

SharePoint ULS(통합 로깅 서비스) 로그에 실제 오류가 표시되지만 원인과 관련하여 의미 있는 것은 없는 것 같습니다.

DateTime w3wp.exe (0x00000) 0x59D4 PowerPivot Service Data Refresh 99 High EXCEPTION: System.Net.WebException: The operation has timed out at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)

애플리케이션 이벤트 로그에 상관 관계 이벤트(EventID: 5214)가 표시될 수 있습니다.

동일한 원본에서 끌어와는 통합 문서가 여러 개 있고 하나의 통합 문서가 데이터 원본의 속도를 늦추는 경우 다른 쿼리가 대기하거나 느려지게 됩니다(100년대 이전). 여러 통합 문서가 실패할 수 있습니다.

원인

이 문제는 SharePoint 2016에서 단일 PowerPivot 데이터 원본을 100초의 새로 고침 기간으로 제한하기 때문에 발생합니다.

참고

데이터가 100초 미만으로 새로 고쳐야 한다고 생각되는 경우 느리거나 실적이 저조한 데이터 원본으로 인해 발생할 수도 있습니다. 쿼리하는 데 시간이 오래 걸리는 복잡한 데이터 원본에서 소량의 데이터를 끌어올리는 경우 시간 제한을 늘리는 것이 최선의 옵션이 아닐 수 있으므로 대체 해결 방법을 고려할 수 있습니다.

대안

  1. 쿼리를 최적화하여 더 빠르게 실행합니다.

  2. 더 적은 데이터를 쿼리합니다.

  3. 데이터 원본에 하드웨어를 추가하여 쿼리를 더 빠르게 처리합니다.

  4. PowerShell을 사용하여 기본 시간 제한 설정을 늘릴 수 있습니다.

    • SharePoint 2016 관리자 사용 PowerShell 프롬프트에서 다음 명령을 실행하여 "new_time_out_value" 섹션을 원하는 시간 제한 값으로 수정합니다.

      $farm = Get-SPFarm
      
      #The time out value "new_time_out_value" is in milliseconds, so be very careful to not set it too low!!!
      
      $farm.Properties.Add("WopiProxyRequestTimeout", new_time_out_value);
      
      $farm.Update();
      
      #to double-check the setting (make sure it is of type Int32, otherwise you will need to remove the property an add it again
      
      $farm.Properties["WopiProxyRequestTimeout"].GetType()
      
    • 다음 명령을 실행하여 나중에 다른 값을 설정하거나 설정에 문제가 있는 경우 을 실행합니다.

      $farm = Get-SPFarm
      
      $farm.properties.Remove("WopiProxyRequestTimeout")
      
      $farm.Properties.Add("WopiProxyRequestTimeout", new_time_out_value);
      
      $farm.update()
      

참고

이 시간 제한 값을 사용자 고유의 위험으로 늘리세요! 새 기본 시간 제한은 매우 낮습니다. 그러나 끌어오는 데이터의 양과 해당 데이터를 끌어오는 데 걸리는 시간도 알고 있어야 합니다. 이 시간을 너무 높게 설정하고 사용자가 대량의 데이터를 끌어올 수 있도록 하면 PowerPivot, SharePoint 및 Office Online Server 성능 문제가 발생할 수 있습니다. 또한 SharePoint, SQL 및 외부 데이터 원본에 대한 기본 시간 제한으로 제한됩니다. 이 시간 제한 값이 항상 답이 아닐 수 있습니다. 끌어온 데이터의 형식에 따라 더 많은 해결 방법 및 최적화 옵션이 있습니다.