Troubleshooting Reports: Report Performance

Po wyświetleniu raportu, może wystąpić czas oczekiwania długie, zanim zostanie wyświetlona pierwsza strona.Aby pomóc w określeniu, gdzie jest poświęcony czas przetwarzania raportu, zobacz Troubleshooting Techniques for Report Problems. Po ustaleniu, czy czas opóźnienia jest pobierania danych, przetwarzanie raport lub renderowanie raportu, do rozwiązywania problemów, należy użyć w tym temacie.

Moje dane trwa zbyt długo, aby pobrać

Raport trwa zbyt długo przetwarza

Raport trwa zbyt długo do renderowania

Porady dotyczące projektowania dla Optymalizacja przetwarzanie raportów

Moje dane trwa zbyt długo, aby pobrać.

Więcej danych raportu wymaga więcej wykorzystania zasób, większy ruch w sieci, więcej czas przetwarzania i przechowywanie więcej.Analizowanie problemów, przedstawione w raporcie, aby określić, jak dużo danych, które są potrzebne, a następnie tylko pobierać dane ze źródeł danych raportu.

Więcej danych jest pobieranie raportu, niż jest wymagana

Filtr, sortowanie i sumowanie jest bardziej efektywne na danych urządzenie źródłowe niż podczas przetwarzania raportu.Zapisywać kwerendy do zwracania tylko poziom szczegółów wyświetlanych w raporcie.Poniższa lista sugeruje pomysły za dokonanie oceny oprogramowania każdej kwerendy raportu w raporcie:

  • Napisz kwerendy WHERE klauzule lub klauzul HAVING, w których dane, które mają tylko przez użytkownika ograniczenia być widoczne w raporcie.Parametry kwerendy należy używać do ograniczania danych, które są pobierane w czasie wykonywania.Parametry kwerendy automatycznie są powiązane z odpowiednich parametrów raportu, a użytkownik mógł zdecydować, które dane są zainteresowani.Aby uzyskać więcej informacji zobacz Filtrowanie wierszy przy użyciu WHERE i HAVING.

    Podczas tworzenia raportu migawka, który ma parametry raportu, które filtrują dane wszystkie zbędne dane, które mogą być wyświetlone w raporcie musi być zapisany migawka.W takim wypadku nie należy używać parametrów kwerendy w kwerendach zestawu danych.Można natomiast ręcznie utworzyć parametry raportu, których można używać w wyrażeniach filtrów, aby umożliwić użytkownikowi na określenie danych raportu, w których mają.

  • Napisz kwerendy z klauzula ORDER BY presort dane, które są pobierane do raportu.Sortuje dane w kolejności mają być sortowane w raporcie.Dane presorted zwiększa czas przetwarzania raportu ze względu na sposób jest on przechowywany w pamięci.Wiele zadań związanych z przetwarzaniem danych raportu nie wymagają sortowania danych przed przetworzeniem go.Na przykład suma nie jest zależny od zamówienia.Dane w ramach grupy instancje nie są sortowane automatycznie.Nie należy sortować dane w raporcie w takim wypadku nie należy ustawiać wyrażenia sortowania na obszar danych lub zestaw danych.Aby uzyskać więcej informacji zobacz ORDER BY Clause (Transact-SQL) i Sorting Data in a Report.

    Sortowanie grup lub sortowanie według wartości agregacja jest znacznie prostsze niż raportu w kwerendzie i jest również często bardziej efektywne.

  • Zapisywać kwerendy z GROUP BY agregowanych na danych urządzenie źródłowe.

    Wiele razy najbardziej skutecznym sposobem przekazywania informacji jest agregowania wartości i wyświetlanie podsumowań.Można obliczać pewien poziom jej zagregowanych do urządzenie źródłowe danych i pobierania ich dla danych."Szczegółowe" dane do danych reprezentuje teraz zagregowanych danych w źródle danych.Aby uzyskać więcej informacji zobacz Summarizing Query Results (Visual Database Tools).

    Po tych wartości pre-aggregated znajdują się w raporcie, można kontynuować zagregowane wartości tak długo, jak w przypadku korzystania z funkcja agregującej jest matematycznie przechodnie, na przykład agregacja.Na przykład załóżmy, że to zbiór wartości 6: 1, 2, 3, 4, 5, 6.Jeśli wartości są grupowane w parach, masz zestaw trzech wartości: 3, 7, 11.Można obliczyć sumę na pierwszy zestaw (21) i obliczyć sumę drugi zestaw (21), a sumy są takie same, niezależnie od grupowanie.Obliczona średnia wartości w zestawach przy użyciu funkcja AVG da różne wyniki dla każdego zestaw.Średnia zestaw 6 jest 21/6 lub 3.5.Średnia zestaw 3 jest 21/3 lub 7.AVG nie jest przechodnie funkcja.

  • Należy wziąć pod uwagę ilość danych wymaganych dla wykresu lub miernika.Rysowanie setki punktów w kilka pikseli na monitorze obniża wydajność i nie zwiększenia wizualne wyświetlania grafiki.Wątpliwe wartość jest więcej niż siedem lub osiem wycinki wykresu kołowego.Aby uzyskać więcej informacji zobacz Preparing Data for Display in a Chart Data Region.

  • W przypadku raportu towarów z widoczności warunkowej, procesor raportu muszą być stosowane grupowanie, sortowanie i filtrowanie wyrażenia, nawet jeśli tylko najwyższy poziom danych jest początkowo widoczny.Mimo, że przetwarzanie w na żądanie SQL Server 2008 Reporting Services optymalizuje oceny danych przetwarzając tylko dane, które są widoczne, wszystkie możliwe danych znajduje się w raporcie. Jeśli użytkownik jest tylko w niektórych wyświetlanie danych szczegółowych czas, raport przeglądanie szczegółowe jest lepszym rozwiązaniem.Aby uzyskać więcej informacji zobacz Typy raportów.

  • Należy rozważyć utworzenie wykonywania migawki raportu.Migawka raportu zawiera wszystkie dane raportu i pobrać dla zestawów danych w definicja raportu.Aby uzyskać więcej informacji zobacz Creating, Modifying, and Deleting Snapshots in Report History.

Czas kwerendy na zewnątrz

Wartości limitu czas kwerendy są określane podczas tworzenia raportu podczas definiowania zestawu danych.Wartość limitu czas są przechowywane razem z raportem w elemencie limit czas dla tej kwerendy.Domyślnie wartość ta wynosi 30 sekund.Aby uzyskać więcej informacji zobacz Setting Time-out Values for Report Processing.

Aby ustawić wartość limitu czas dla kwerendy zestaw danych, zobacz How to: Create a Dataset (Reporting Services).

Duże wartości przyczyny ruchu sieciowego oczekiwania czas użytkownika

Duże ilości danych jako ruch sieciowy może wprowadzić czas oczekiwania dla użytkownika.W zależności od swojego bazy oczekiwanego użytkowników i oczekiwanej wielkości widoki raportu można wybrać właściwe podejście do wdrażania składniki serwer raportów.Aby uzyskać więcej informacji zobacz Planning a Deployment Topology.

Na przykład następujące strategie postępowania może zmniejszyć czas oczekiwania dla użytkownika:

  • Zachowaj wykazu serwer raportów na tym samym komputerze co serwer raportów.

    Tempdb baza danych serwer raportów zarządza danych raportu, który jest pobierany dla każdej kwerendy zestawu danych w definicja raportu.Przechowywanie danych raportu z procesorem raportu zmniejsza ruch w sieci, które mogą obniżyć exeuction raportu.

  • Magazyn źródeł danych można przechowywać w hurtowni danych na oddzielnym serwerze niż serwer raportów.

    Mimo że pobieranie danych w sieci powoduje dodania do dodatkowe zadania do wykonania raportu, posiadające magazyn danych i Reporting ServicesUsługi, które contend pamięci na tym samym serwerze może zmniejszyć wydajność.

Mojego raportu trwa zbyt długo, aby przetworzyć.

Raport przetwarzanie odbywa się po dane są pobierane do zestawów danych raportu, gdy procesor raport łączy układ raportu i danych, aby utworzyć formacie tymczasowy raport, który jest następnie przekazywany do renderowania raportu.Ogólnie rzecz biorąc procesor raport łączy danych i układu tylko do bieżącej strona, który jest wyświetlany przez użytkownika.Czas przetwarzania raportu ma wpływ na układ raportu, stronicowania i złożone wyrażenia w obszarach raportu, które mają wiele wystąpień.

Użyj tej sekcji, aby poprawić wydajność przetwarzania raportu.

Wszystkie strona do przetworzenia można wymusić wyrażeń w stronie nagłówka lub stopki

Gdy zawiera odwołanie do pole wbudowane [&TotalPages], procesor raport musi paginate całego raportu, zanim może sprawić, że pierwsza strona. Jeśli nie odwołanie [&Istnieje TotalPages], pierwsza strona może być renderowana i zwrócony do użytkownika natychmiast, bez przetwarzania pozostałej części raportu. Ponadto procesora raportu zakłada, że jakaś złożone wyrażenie w strona nagłówka lub stopki może zawierać bezpośrednie lub pośrednie odwołanie [&Totalstronas].

Aby uniknąć procesora raportu paginate długich raportów, nie należy umieszczać odwołanie do [&TotalPages] lub wszystkie wyrażenia złożone w nagłówka i stopki strona.

Brak strona podziały stron w raporcie

Jak strona za pomocą raportu, raport procesora łączy danych i informacji o układzie raportu dla każdej strona raportu i przekazuje strona do renderowania raportu użytkowników.Dla raportu, w którym zdefiniowano strona podział całego raportu muszą być przetwarzane, zanim użytkownik może przeglądać pierwszego strona.

Renderowanie strona miękki podział, takich jak przeglądarka HTML automatycznie obsługuje stronicowania dla Ciebie.Użytkownik może zmienić to zachowanie automatycznego i zestaw raport ma być jednej strona przez zestaw ting właściwość raportu InteractiveHeight na 0.Dla renderers podział strona twardym należy dodać podziały stron ręcznie.Aby uzyskać więcej informacji na temat typów renderers zobacz Understanding Rendering Behaviors.

Sprawdź to InteractiveHeight jest 0, i że jest on zestaw niektóre rozmiaru strona uzasadnione, na przykład 8,5 cala.Dodaj podziały elementów raportu lub grupom Tablix do takiego organizowania raportu na strona.Zmniejsza to ilość danych, które muszą zostać przetworzone dla każdej strona.Aby uzyskać więcej informacji zobacz How to: Add a Page Break (Reporting Services).

Złożone obszar danych Tablix grupowanie i funkcje agregacja

Wiele poziomów grup zagnieżdżonych i sąsiadujących ze sobą w obszar danych Tablix może wpłynąć na wydajność przetwarzania raportu.Należy wziąć pod uwagę poziom grupowanie, liczbę wystąpień grupowanie i korzystanie z funkcji agregujących, które wymagają oceny po grupie, filtrowania i sortowania wyrażenia są stosowane.Poprzedni jest na przykład "drogi" funkcja agregująca ponieważ jej wartość zależy od sortowane elementy obszar danych; agregacja nie jest zależny od zamówienia i wymaga mniejszej ilości zasobów.Innych zagregowanych post-sort zawiera pierwszy i ostatni.Aby uzyskać więcej informacji zobacz Using Built-in Report and Aggregate Functions in Expressions (Reporting Services).

Oceń w projekcie raportu raportu i rozważyć, czy niektóre agregacja danych może wystąpić w źródle danych.Zmniejszenie ilości danych w raporcie mogą być wystarczające do zapewnienia wydajności bez zmieniania żadnych wywołań funkcja agregacja.

Wiele wystąpień podraporty w obszar danych Tablix wolno raport o wydajności

Zrozumienie, zalet i wad używania podraporty.Każde wystąpienie podraport jest wykonywanie oddzielnych kwerendy i zadania przetwarzania oddzielne raporty.

  • Należy używać podraportów, gdy istnieją tylko kilka wystąpień podraport.

  • Nie należy używać podraporty wewnątrz grupy, gdy ma wielu wystąpień grupy.Na przykład aby wyświetlić listę sprzedaży i zwrotów dla każdego nabywcy, należy rozważyć użycie przeglądanie szczegółowe raportów.Należy wziąć pod uwagę, czy można napisać kwerendę, aby dołączyć klienta ze sprzedaży i zwrotów i następnie Grupuj według identyfikatora klienta.

  • Należy używać podraportów, gdy podraport korzysta z innego urządzenie źródłowe danych niż z raportem głównym.Jeśli problem jest wydajność, należy rozważyć zmianę kwerendy zestawu danych w raporcie głównym przy użyciu jednej z następujących strategii ograniczenia:

    • Zbieranie danych w hurtowni danych, a następnie użyj magazyn danych jako urządzenie źródłowe danych dla pojedynczego zestawu danych.

    • Użycie SQL Server połączone serwery i zapisu kwerendę, która pobiera dane z wielu baz danych.

    • Za pomocą funkcji OPEN zestawu zestaw wierszy można określić różnych baz danych.

Procesy konkurowanie o ten sam jej obszar na serwer raportów

Wiele aplikacji, które konkurować dla tych samych zasobów pamięci serwer raportów mogą mieć wpływ na przetwarzania raportu.

Praca z administrator systemu, aby sprawdzić, czy konfiguracja zarządzania pamięci jest poprawny model do użytku serwer raportów.Aby uzyskać więcej informacji zobacz Configuring Available Memory for Report Server Applications.

Raport wykonanie czas edycji

Aby uruchomić duże raporty, dostępne są dwa limity czas, należy dostosować: Raport limitu czas wykonywania i ASP.NET limit czas.

Wartości limitu czas wykonywania raportu są określane serwer raportów.Aby uzyskać więcej informacji zobacz Setting Time-out Values for Report Processing.

ASP.NET zasady limitu czas jest określany na podstawie plik konfiguracji serwer raportów.Domyślną lokalizacją tego pliku jest <dysk>: \Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\web.config. Aby zestaw maksymalną liczbę sekund, które mogą być wykonać na żądanie, Dodaj httpRuntime element do tego pliku:

<configuration>
   . . .
   <system.web.
      . . .
      <httpRuntime executionTimeout="90"/>
      . . .
   </system.web.
   . . .
</configuration>

W zależności od rozmiaru raportu wartość ta może być konieczne reprezentować kilka godzin.

Raport trwa zbyt długo do renderowania.

renderowanie raportu występuje po układ i dane są łączone w formie tymczasowych i następnie przekazywane do rozszerzenie renderujące.Renderowanie czas mogą wpływać ilość danych, a liczba wystąpień elementy raportów i stronicowania.Podczas eksportowania raportu są przekazywanie tymczasowe formatu, do określonego modułu renderowania.Jeśli wiadomo, że użytkownicy wyświetlania raportu w określonym formacie, musi zoptymalizować raport, dla tego modułu renderowania.Aby uzyskać więcej informacji zobacz Exporting Reports i Understanding Rendering Behaviors.

Użyj tej sekcji, aby poprawić wydajność renderowania dla raportu.

Raport jest nie ma być zoptymalizowany pod kątem formatu renderowania wybrane

Niektóre funkcje nie są obsługiwane w renderers wszystkich.Jeśli podstawowy format wyświetlania raportu jest format określonego pliku, należy zmodyfikować projekt raportu w celu zoptymalizowania przeglądania po uruchomieniu przez użytkownika.

  • Dodawanie strona przerwy, w których warto.Na przykład każdy znak podziału strona definiuje nowy arkusz programu Excel.Każdy arkusz może obsługiwać maksymalnie 65000 wierszy.Należy wziąć pod uwagę te limity, kiedy zostanie zestaw podziałów strona w raporcie.

  • Do eksportowania do programu Excel, nie należy wykonać scalanie komórek w obszar danych Tablix.W dowolnej postaci raportów wyrównanie w pionie elementy raportów.Komórki scalone oraz elementy raportów niewyrównany kolidować z funkcji programu Excel w eksportowanym raporcie.

  • Analizatory składni HTML nie są skuteczne na stronach HTML bardzo dużych renderowania.Jeśli masz problemy z renderowania raportu, zaznacz format, który tworzy mniejszy plik (na przykład CSV).Jeśli nie można wybrać inny format, ponieważ pasek narzędzi raportu nie jest dostępny, można zdefiniować subskrybcji zestaw renderowania formatu i dostarczania raportu jako statyczne dokument do udziału plików.Aby uzyskać więcej informacji zobacz File Share Delivery in Reporting Services.

Porady dotyczące projektowania dla Optymalizacja przetwarzanie raportów

Jeśli raport wydajność jest ten problem górny, użyj następujących informacji do optymalizowania czas wymagany do przetworzenia raportu:

  • Dla raportów, które mają wiele wystąpień pola tekstowe, zestaw CanGrow i CanShrink na pola tekstowe, które ma wartość FAŁSZ.Domyślnie każda komórka w obszar danych Tablix zawiera pole tekstowe, tak aby całkowita liczba pól tekstowych, które muszą być renderowana można szybko rosnąć.

  • Dla raportów, które mają wiele obrazów takich jak dopasowanie AutoSize zestaw obrazów na inną wartość.

  • Dla pól tekstowych należy unikać ustawienie właściwość TextAlign ogólne.Wartość ta wymaga przetwarzania warunkowego w zależności od zawartości pola tekstowego.

  • Należy unikać poziome strona przerwy, gdy nie są wymagane.Sprawdź marginesy, szerokości kolumn i odstępów w raporcie.Na przykład raport do pliku .TIFF renderowania i wyświetlić go w programie Microsoft Windows Picture i Fax viewer do ustalenia, czy dodatkowe strony są są renderowane.

  • Właociwooć KeepTogether członków Tablix tylko wtedy, gdy musi kontrolować zachowanie renderowania specyficzne dla region Tablix danych.Funkcja KeepTogether wymaga dodatkowego przetwarzania podczas obliczania podziały stron.