dcs.pl - logo 30 lat
  • Rozwiązania
  • Blog
  • Kontakt
PL EN
  • Oprogramowanie na zamówienie
  • Nasze produkty
  • Sprzedaż oprogramowania
  • SaaS
  • Usługi informatyczne
Produkty finansowe i ubezpieczeniowe (ABP)
Usprawnia procesy biznesowe i przyspiesza wprowadzanie produktów na rynek w rozproszonych organizacjach.
Bramka SMS
Ta dwukierunkowa bramka umożliwia bezpłatne wysyłanie wiadomości SMS, pozwalając operatorom promować usługi, zarabiać na odpowiedziach i zwiększać zasięg poprzez integrację ze stroną internetową.
System zarządzania kosztami (UCMS)
Dzięki UCMS przedsiębiorstwa mogą efektywnie analizować, monitorować i zarządzać zużyciem mediów.
Systemy intranetowe
Nasze systemy intranetu oferują bezpieczne rozwiązania oparte na platformie SharePoint lub open-source, co umożliwia komunikację wewnętrzną i integrację z usługą Active Directory.
Distribution List and Shared Mailbox Manager (DSM)
Aplikacja DSM umożliwia pracownikom zarządzanie listami dystrybucyjnymi i skrzynkami pocztowymi Exchange przy minimalnym udziale administratora.
Application Test Console (ATC)
Oprogramowanie umożliwiające monitorowanie serwerów, aplikacji internetowych, usług i baz danych w czasie rzeczywistym za pomocą testów automatycznych, z alertami o nieprawidłowościach wysyłanymi za pomocą wiadomości SMS i e-mail.
File Share Manager (FSM)
Aplikacja internetowa umożliwiająca audyt oraz zarządzanie serwerami plików/udziałami sieciowymi Windows (uprawnienia, quoty, statystyki) w modelu self-service.
Lock Screen Manager (LSM)
System umożliwia zarządzanie komunikacją przy użyciu ekranów blokady (lockscreen) na firmowych komputerach.
SMS Password Manager (SPM)
Aplikacja umożliwiająca resetowanie haseł Active Directory i odblokowywanie kont za pośrednictwem wiadomości SMS przez pracowników firmy.
Pakiety Microsoft M365
Sprzedaż subskrypocji M365 w modelu CSP. Dostęp do najnowszych aplikacji biurowych, innowacyjnych funkcji sztucznej inteligencji takich jak Microsoft Copilot.
VMware
Numer jeden w dziedzinie wirtualizacji systemów informatycznych - od analizy potrzeb, przez projektowanie, po implementację i wsparcie powdrożeniowe.
Microsoft SPLA
Sprzedaż licencji Miscrosoft w miesięcznym modelu subskrypcyjnym SPLA (Service Provider License Agreement) takich produktów jak Windows Server, SQL Server, Exchange.
Veeam
Pełne portfolio rozwiązań backupu Veeam z profesjonalnym wsparciem i pełnym zakresem usług informatycznych.
Proxmox
Bezpieczne i niezawodne rozwiązania klasy korporacyjnej do zarządzania serwerami wirtualnymi, backupu środowisk wirtualnych oraz ochrony serwerów pocztowych.
Hosted SMS
Zaawansowana platforma do masowej wysyłki wiadomości SMS. Email2SMS, rozbudowane API pozwala na pełną inegrację z systemami w firmie.
eCzasPracy.pl
System umożliwia efektywną rejestrację czasu pracy pracowników, usprawnienie śledzenia obecności i zarządzania personelem.
Hosted Exchange
Platforma Hosted Exchange to kompletna usługa poczty e-mail wykorzystująca serwer Microsoft Exchange i program MS Outlook.
Share File Safe
Bezpieczny serwer OnPremise do wymiany plików wewnątrz i na zewnątrz firmy z zabezpieczeniem hasłem.
Hosted Windows
Platforma hostingowa Windows Server MS SQL/.NET umożliwiająca uruchamianie aplikacji i stron internetowych bez ponoszenia kosztów infrastruktury serwerowej.
Przeglądy Budynku
Wszystkie przeglądy budynku w jednej aplikacji. Od przeglądów kominiarskich, elektrycznych po fotowoltaikę czy kontrolę stanu wind w budynku.
SMS Vote
SMS Vote to interaktywny system głosowania, który umożliwia głosowanie w czasie rzeczywistym za pośrednictwem wiadomości SMS. Idealne rozwiązanie do wykorzystania podczas wydarzeń w mediach i transmisjach na żywo.
Migracje IT
Migracje systemów informatycznych wykorzystujących różne technologie: Microsoft Hyper-V, Windows Server, MS SQL, VMware vSphere.
Migracje MS Exchange
Migracje z systemów MS Exchange 2003, 2010, 2013 oraz 2019, a także z systemów Lotus Domino do MS Exchange.
Wdrożenia IT
Kompleksowa usługa obejmująca analizę potrzeb biznesowych, planowanie, realizację i wsparcie powdrożeniowe. Specjalizujemy się w rozwiązaniach Microsoft.
    • Rozwiązania
      • Oprogramowanie na zamówienie
        • Produkty finansowe i ubezpieczeniowe (ABP)
        • Bramka SMS
        • System zarządzania kosztami (UCMS)
        • Systemy Intranetowe
      • Nasze produkty
        • Distribution List and Shared Mailbox Manager (DSM)
        • Application Test Console (ATC)
        • File Share Manager (FSM)
        • Lock Screen Manager ( LSM)
        • SMS Password Manager (SPM)
      • Sprzedaż oprogramowania
        • Pakiety Office M365
        • VMware
        • Microsoft SPLA
        • Veeam
        • Proxmox
      • SaaS
        • Hosted SMS
        • eczaspracy.pl
        • Hosted Exchange
        • Share File Safe
        • Hosted Windows
        • Przeglądy Budynku
        • SMS Vote
      • IT Services
        • IT Migration
        • Exchange Migration
        • IT Deployment
    • Referencje
    • Blog
    • Kontakt
  1. dcs.pl
  2. Blog
29-09-2015 Marcin Zawadzki SQL

Wydajność aplikacji korzystających z Microsoft SQL Server

Wydajność baz danych SQL to problem, który prędzej czy później spotyka każdego administratora systemu. Dzieje się tak, ponieważ developerzy tworząc nowe aplikacje niejednokrotnie korzystają z niewielkich ilości danych testowych, nie poświęcając wiele czasu jej wydajności. Po uruchomieniu aplikacji w środowisku produkcyjnym z biegiem czasu ilość danych zgromadzonych w bazie zwiększa się, przez co aplikacja działa coraz wolniej… do tego stopnie, iż czasami uniemożliwia pracę użytkownikom.

Na szczęście w przypadku aplikacji korzystających z serwera bazy danych Microsoft SQL Server administratorzy mają do dyspozycji narzędzia, które w wielu przypadkach mogą istotnie poprawić wydajność takich aplikacji. Cały ten proces optymalizacji wydajności jest nazywany strojeniem bazy danych i składa się z kilku kroków.

Performance Monitor

Podstawową optymalizacji jest znalezienie zasobu będącego wąskim gardłem. Takim wydajnościowym wąskim gardłem może być dostęp do dysku, wielkość pamięci operacyjnej, obciążenie CPU, ale także zbyt duża liczba użytkowników sięgająca do tych samych danych i w efekcie blokująca się wzajemnie. Diagnozę można postawić sprawdzając wartości liczników systemowych (procent wykorzystania CPU, wolna pamięć operacyjna, kolejka dyskowa) jak i bazy danych (stopień wykorzystania buforów i pamięci podręcznej, oraz liczniki dotyczące blokad).

Następnie administrator aplikacji powinien znaleźć zapytania będące źródłem problemów. Kluczowym narzędziem w tym procesie jest SQL Profiler, oraz wbudowane raporty bazodanowe - w szczególności „Top Queries by Total CPU Time”, a także „Top Queries By Total IO”.  W przypadku, gdy wykorzystanie dysków i procesora jest niewielkie, a zapytania kończą się timeoutem należy sprawdzić również „Object Execution Statistics”, „Top Queries By Average CPU Time” i „Top Queries By Average IO”.

object execution statistics

Częstym problemem obniżającym wydajność są brakujące indeksy. Można je znaleźć analizując zapytania będące źródłem problemu za pomocą wbudowanego „Database Engine Tuning Advisor” lub sprawdzając odpowiednie widoki dynamiczne gromadzące wiedzę o brakujących indeksach na podstawie danych historycznych (google for: „missing index script”). Należy przy tym pamiętać, że zbyt duża liczba niepotrzebnych indeksów również może być przyczyną problemów wydajnościowych, ponieważ musza one być utrzymywane przy operacjach wstawienia, modyfikacji i kasowania rekordu. W niektórych przypadkach narzędzia te nie wskażą rozwiązania problemu i wymagana będzie ręczna analiza planu zapytania (przykład braku indeksu na kolumnie funkcyjnej).

Jeżeli mimo założonych indeksów baza wybiera błędny plan zapytania, problemem mogą być nieaktualne statystyki lub ich zupełny bark. Rozwiązaniem jest ustawienie odpowiednich opcji na bazie danych (auto create/update statistics), lub ustawienie odpowiedniego planu utrzymaniowego zawierającego przeliczanie statystyk. Możliwe jest również wymuszenie odpowiedniego planu dla zapytania, ale jest to zwykle ostateczność i należy być w tym przypadku bardzo ostrożnym.

W przypadku niektórych problemów związanych z blokowaniem istotne jest ustawienie odpowiedniego poziomu izolacji dla transakcji. Pomóc tutaj może poziom izolacji - snapshot, który można włączyć we właściwościach bazy danych. W niektórych przypadkach wskazane może być przepisanie niektórych funkcji, procedur lub widoków w bazie danych, jeżeli aplikacja z takich obiektów korzysta.

W przypadku aplikacji biznesowych często problem jest generowany przez raporty wykonujące się w czasie normalnej pracy aplikacji. Rozwiązaniem problemu może być przeniesienie generowania raportów na godziny nocne, lub rozdzielenie części raportowej od części odpowiedzialnej za bieżące działanie aplikacji.

Na zakończenie warto również wspomnieć o defragmentacji indeksów, partycjonowaniu danych i odpowiednim ułożeniu struktur na dysku (np. plik logu transakcyjnego powinien być na innym dysku niż plik bazy danych, baza tempdb powinna być na innym dysku, niż bazy użytkownika, a indeks może być na innym dysku, niż tabela, z której są pobierane dane). Oczywiście w tym ostatnim przypadku chodzi o fizyczne dyski – przypisywanie plików do różnych partycji na tym samym dysku lub na macierzy RAID5 nie ma większego sensu.

Powyższe metody są o tyle istotne, że pozwalają administratorom rozwiązać problem z wydajnością aplikacji bez jej modyfikacji. Właściwe modelowanie baz danych, czy zmiana kodu aplikacji pod kontem wydajności baz danych to już tematy na osobne rozważania.

Powiązane

Nowy tester aplikacji - czyli monitorowanie wewnętrznych i zewnętrznych aplikacji biznesowych
Niedoceniona migracja bazy danych SQL (1/2)
Tweet

1 komentarze

Romek7 listopada 2015 12:58

deadlocki, to jest wyzwanie - najczęściej spowodowane źle zaprojektowaną aplikacją

Odpowiedz
Zgłoś

Kategorie

  • Oprogramowanie dla firm 11
  • Wdrożenia, migracje, support 3
  • Oprogramowanie na zamówienie 2
  • Marketing SMS 3
  • Konkursy 2
  • Systemy intranetowe 2
  • Narzędzia administracyjne 6

Tagi

administracja administration bezpieczeństwo it case study django CMS dla firm featured głosowanie sms hostedsms hosting
dcs.pl - linkedin
Bądź na bieżąco Śledź nas na LinkedIn, aby otrzymywać aktualizacje i informacje.

Kontakt

dcs.pl Sp. z o.o,
ul. Puławska 303,
02-785 Warszawa,
NIP: 951-20-63-362,
+48 22 5486000,
info@dcs.pl

O firmie

  • Kontakt z nami
  • O nas
  • Blog
  • Kariera

Zasoby

  • Polityka prywatności
  • Aktualności dcs.pl

Usługi

  • Projekty na zamówienie
  • Implementacja Systemów
  • Outsourcing

Produkty

  • Narzędzia administracyjne
  • Software as a Service
  • Produkty finansowe & ubezpieczeniowe

Nasze serwisy

  • Hosted SMS
  • Hosted Exchange
  • Hosted Windows
  • eCzasPracy.pl
  • Przeglądy Budynku
  • Share File Safe
  • File Share Manager
dcs.pl - linkedin
Bądź na bieżąco Śledź nas na LinkedIn, aby otrzymywać aktualizacje i informacje.

Copyright ©dcs.pl 1995-2025 Sp. z o.o. All rights reserved.