Sql പ്രൊഫൈലർ ഏത് പട്ടികയാണ് എഴുതുന്നത്. SQL പ്രൊഫൈലർ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു. സെർവറിലേക്ക് ആരംഭിക്കുകയും ബന്ധിപ്പിക്കുകയും ചെയ്യുന്നു

SQL പ്രൊഫൈലർ എന്നത് SQL സെർവർ കണ്ടെത്തുന്നതിന് ഉപയോഗിക്കുന്ന ഒരു സോഫ്റ്റ്‌വെയർ ഉപകരണമാണ്. "ട്രേസ്" - SQL സെർവർ 2008-ന്റെ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കുന്നതിനുള്ള ഒരു സെഷൻ

പ്രധാനമായ ഉദ്ദേശം:

SQL പ്രൊഫൈലർ അഡ്മിനിസ്ട്രേറ്റർമാർ ഇതിനായി ഉപയോഗിക്കുന്നു:

· ആപ്ലിക്കേഷന്റെ വിശകലനം;

സെർവറിലേക്ക് അയച്ച അഭ്യർത്ഥനകളുടെ ഒപ്റ്റിമലിറ്റി നിർണ്ണയിക്കുന്നു;

എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ പിശക് ഉണ്ടാക്കുന്ന ട്രാൻസാക്റ്റ്-എസ്‌ക്യുഎൽ കമാൻഡുകൾ തിരിച്ചറിയൽ;

· ദീർഘകാലത്തേക്ക് ഉപയോക്തൃ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കൽ;

സെർവർ പ്രവർത്തനം തത്സമയം നിരീക്ഷിക്കുന്നു.

പുതിയ അവസരങ്ങൾ:

എ. വിശകലന സേവനങ്ങളുടെ പ്രൊഫൈലിംഗ്;

ബി. ഇന്റഗ്രേഷൻ സർവീസസ് ഇവന്റ് പ്രൊഫൈലിംഗ്;

സി. കമാൻഡ് എക്സിക്യൂഷൻ വിവരങ്ങൾ രേഖപ്പെടുത്തുമ്പോൾ പെർഫോമൻസ് മോണിറ്ററിൽ നിന്ന് കൌണ്ടർ റീഡിംഗുകൾ രേഖപ്പെടുത്താനുള്ള കഴിവ്;

ഡി. ട്രേസ് ഫയലിൽ റെക്കോർഡ് ചെയ്യുന്നതിനായി തിരഞ്ഞെടുക്കാവുന്ന നിരവധി പുതിയ ഇവന്റുകളും വിവര ഉറവിടങ്ങളും പ്രൊഫൈലർ ചേർത്തിട്ടുണ്ട്;

എഫ്. പ്രൊഫൈലർ വിൻഡോയിൽ ഇവന്റുകൾ ഗ്രൂപ്പുചെയ്യാനുള്ള കഴിവ്.

SQL സെർവർ പ്രൊഫൈലറുമായി പ്രവർത്തിക്കുന്നു

1. SQL സെർവർ പ്രൊഫൈലർ സമാരംഭിക്കുക - മെനുവിൽ നിന്ന് പ്രോഗ്രാമുകൾ ആരംഭിക്കുക SQL സെർവർ 2008 പ്രകടന ഉപകരണങ്ങൾ SQL സെർവർ പ്രൊഫൈലർ.

2. മെനുവിൽ തുറക്കുന്ന വിൻഡോയിൽ ഫയൽതിരഞ്ഞെടുക്കുക പുതിയ ട്രെയ്സ്ഞങ്ങൾ നിരീക്ഷിക്കുന്ന SQL സെർവർ 2008 സെർവറിലേക്ക് കണക്റ്റുചെയ്യുക.

3. വിൻഡോയിൽ സെഷൻ പാരാമീറ്ററുകൾ കോൺഫിഗർ ചെയ്യുക ട്രെയ്സ് പ്രോപ്പർട്ടികൾ, ട്രേസിംഗ് സെഷൻ ആരംഭിക്കുന്നതിന് മുമ്പ് ഇത് യാന്ത്രികമായി തുറക്കുന്നു (ചിത്രം 8.1 കാണുക).

അരി. 8.1ട്രേസ് സെഷൻ ഓപ്ഷനുകൾ കോൺഫിഗർ ചെയ്യുന്നു

എ. ടാബിൽ ജനറൽപട്ടികയിൽ നിന്ന് തിരഞ്ഞെടുക്കുക ടെംപ്ലേറ്റ് ഉപയോഗിക്കുകഏറ്റവും അനുയോജ്യമായ ടെംപ്ലേറ്റ്. മെനു ഉപയോഗിച്ച് ടെംപ്ലേറ്റ് തിരഞ്ഞെടുത്തു ഫയൽ à ടെംപ്ലേറ്റുകൾ SQL സെർവർ പ്രൊഫൈലറിൽ. തുടക്കത്തിൽ, നിങ്ങളുടെ പക്കൽ എട്ട് ടെംപ്ലേറ്റുകൾ ഉണ്ട്:

1). സ്റ്റാൻഡേർഡ് (ഡിഫോൾട്ട്)- സംഭരിച്ചിരിക്കുന്ന എല്ലാ നടപടിക്രമങ്ങളും നിർവ്വഹണത്തിനായി സമാരംഭിച്ച ട്രാൻസാക്റ്റ്-എസ്‌ക്യുഎൽ കമാൻഡുകളും ട്രാക്കുചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു സ്ഥിരസ്ഥിതി ടെംപ്ലേറ്റ്;

2). SP_counts- സംഭരിച്ച നടപടിക്രമങ്ങളെക്കുറിച്ചും നിർവ്വഹണത്തിനായി സമാരംഭിച്ച പ്രവർത്തനങ്ങളെക്കുറിച്ചും വിവരങ്ങൾ ശേഖരിക്കുന്നു, പേര് പ്രകാരം അടുക്കുന്നു;

3). TSQL- സെർവറിൽ നടപ്പിലാക്കുന്നതിനായി സമാരംഭിച്ച എല്ലാ ട്രാൻസാക്റ്റ്-എസ്‌ക്യുഎൽ കമാൻഡുകളെയും കുറിച്ചുള്ള വിവരങ്ങളുടെ ശേഖരണം, ഉപയോക്തൃ പ്രക്രിയകളുടെയും ലോഞ്ച് സമയത്തിന്റെയും ഐഡന്റിഫയറിനെ സൂചിപ്പിക്കുന്നു;

4). TSQL_Duration- മുമ്പത്തെ ടെംപ്ലേറ്റിന് സമാനമാണ്, എന്നാൽ TSQL കമാൻഡ് ആരംഭിച്ച സമയത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾക്ക് പകരം, അത് എക്സിക്യൂട്ട് ചെയ്യാൻ എടുത്ത സമയം രേഖപ്പെടുത്തുന്നു;

5). TSQL_Grouped- ട്രാൻസാക്റ്റ്-എസ്‌ക്യുഎൽ കമാൻഡ് കോഡിനെയും അത് സമാരംഭിച്ച സമയത്തെയും കുറിച്ചുള്ള വിവരങ്ങൾക്ക് പുറമേ, ആപ്ലിക്കേഷന്റെ പേര്, ഒഎസിലെ ഉപയോക്തൃ അക്കൗണ്ട്, കണക്റ്റുചെയ്യാൻ ഉപയോഗിച്ച ഉപയോക്തൃ അക്കൗണ്ട് എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങളും രേഖപ്പെടുത്തുന്നു;



6). TSQL_Replay- എക്സിക്യൂട്ട് ചെയ്ത ട്രാൻസാക്റ്റ്-എസ്‌ക്യുഎൽ കമാൻഡുകളെക്കുറിച്ചുള്ള ഏറ്റവും വിശദമായ വിവരങ്ങൾ രേഖപ്പെടുത്തുന്നു;

7). TSQL_SP-കൾ- സംഭരിച്ച നടപടിക്രമം (SP: Starting) പ്രവർത്തിപ്പിക്കുന്നതിന്റെ ആരംഭത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ രേഖപ്പെടുത്തുന്നതിനു പുറമേ, സംഭരിച്ച നടപടിക്രമത്തിന്റെ ഓരോ കമാൻഡുകളുടെയും നിർവ്വഹണത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ രേഖപ്പെടുത്തുന്നു (SP:StmtStarting);

8). ട്യൂണിംഗ്- ഡാറ്റാബേസ് ട്യൂണിംഗ് അഡ്വൈസറിന് ആവശ്യമായ വിവരങ്ങൾ ശേഖരിക്കാൻ ഉപയോഗിക്കുന്നു.

ബി. ടാബിൽ ജനറൽട്രെയ്സ് വിവരങ്ങൾ സംരക്ഷിച്ചിരിക്കുന്ന സ്ഥലം നിങ്ങൾക്ക് വ്യക്തമാക്കണമെങ്കിൽ:

1). ട്രെയ്സ് വിവരങ്ങൾ ഒരു ഫയലിലേക്ക് ലോഗ് ചെയ്യാൻ കഴിയും (സ്ഥിരമായി 5 MB):

· പരാമീറ്റർ ഫയൽ റോൾഓവർ പ്രവർത്തനക്ഷമമാക്കുകഒരു ഫയൽ പൂരിപ്പിക്കുമ്പോൾ, അടുത്തത് യാന്ത്രികമായി സൃഷ്ടിക്കപ്പെടുമോ എന്ന് നിർണ്ണയിക്കുന്നു. അടുത്ത ഫയലിന്റെ പേര് മുമ്പത്തേതിന്റെ പേരിന് സമാനമായിരിക്കും, എന്നാൽ അതിന്റെ പേരിൽ ഒരു നമ്പർ ചേർക്കും (1, 2, 3, മുതലായവ)

· പരാമീറ്റർ സെർവർ ഡാറ്റ ട്രേസ് പ്രോസസ് ചെയ്യുന്നുട്രെയ്സ് വിവരങ്ങൾ രേഖപ്പെടുത്തുന്നതിന്റെ വിശ്വാസ്യത വർദ്ധിപ്പിക്കുന്നതിന് ഇത് ഉപയോഗിക്കാം. ഈ ബോക്‌സ് പരിശോധിച്ച ശേഷം, ട്രെയ്സ് വിവരങ്ങളുടെ പ്രോസസ്സിംഗ് സെർവർ കൈകാര്യം ചെയ്യും.

2). ട്രെയ്സ് വിവരങ്ങൾ ഒരു SQL സെർവർ ടേബിളിൽ സൂക്ഷിക്കാം. ആവശ്യമായ നിരകളുള്ള ഒരു പട്ടിക സ്വയമേവ സൃഷ്ടിക്കപ്പെടും.

3). പരാമീറ്റർ ഉപയോഗിക്കുന്നു ട്രേസ് സ്റ്റോപ്പ് സമയം പ്രവർത്തനക്ഷമമാക്കുകട്രെയ്‌സിംഗ് യാന്ത്രികമായി ഓഫാകുന്ന സമയം നിങ്ങൾക്ക് വ്യക്തമാക്കാൻ കഴിയും.

സി. ടാബിൽ ഇവന്റുകൾ തിരഞ്ഞെടുക്കൽവിവരങ്ങൾ ശേഖരിക്കുന്നതിനുള്ള പരാമീറ്ററുകൾ നിർണ്ണയിക്കുക. ഈ ടാബിലെ പട്ടികയിൽ, ആവശ്യമായ ഇവന്റുകളും (വരികളിൽ) അവയ്ക്കായി രേഖപ്പെടുത്തുന്ന വിവരങ്ങളും (നിരകളിൽ) നിങ്ങൾ തിരഞ്ഞെടുക്കണം. എല്ലാ വരികളും നിരകളും പ്രദർശിപ്പിക്കുന്നതിന്, നിങ്ങൾ ബോക്സുകൾ പരിശോധിക്കേണ്ടതുണ്ട് എല്ലാ ഇവന്റുകളും കാണിക്കുകഒപ്പം എല്ലാ നിരകളും കാണിക്കുക.

1). ബട്ടൺ വഴി കോളം ഫിൽട്ടറുകൾ(നിര ഫിൽട്ടറുകൾ) ആവശ്യമായ വിവരങ്ങൾ ശേഖരിക്കുന്നതിന് ഫിൽട്ടറുകൾ കോൺഫിഗർ ചെയ്യുക (ഒരു നിർദ്ദിഷ്ട ഡാറ്റാബേസിൽ അല്ലെങ്കിൽ ഒരു നിർദ്ദിഷ്ട ആപ്ലിക്കേഷൻ വഴി അല്ലെങ്കിൽ ഒരു നിർദ്ദിഷ്ട ഉപയോക്താവ് നടത്തുന്ന പ്രവർത്തനങ്ങൾ ട്രാക്ക് ചെയ്യുക) - ഇഷ്ടപ്പെടുകഅഥവാ ലൈക്ക് അല്ല;

2). ബട്ടൺ ഉപയോഗിച്ച് നിരകൾ സംഘടിപ്പിക്കുക(നിരകൾ ഓർഗനൈസ് ചെയ്യുക) ഡാറ്റ ഗ്രൂപ്പ് ചെയ്യാനുള്ള കഴിവ് ഉപയോഗിച്ച് പ്രൊഫൈലറിൽ പ്രദർശിപ്പിക്കുന്നതിനോ റെക്കോർഡുചെയ്യുന്നതിനോ വേണ്ടി നിരകളുടെ ക്രമം ക്രമീകരിക്കുക - ഗ്രൂപ്പ് വിഭാഗം.

4. എല്ലാ ട്രെയ്‌സിംഗ് പാരാമീറ്ററുകളും സജ്ജീകരിച്ച ശേഷം, ബട്ടണിൽ ക്ലിക്കുചെയ്യുക ഓടുക(റൺ) (ചിത്രം 8.2 കാണുക)

അരി. 8.2ഒരു ട്രേസിംഗ് സെഷനിൽ വിവരങ്ങൾ കാണുക

വിൻഡോയുടെ മുകൾ ഭാഗം സെർവറിൽ സംഭവിക്കുന്ന ഇവന്റുകൾ പ്രദർശിപ്പിക്കുന്നു, കൂടാതെ താഴത്തെ ഭാഗം ഓരോ ഇവന്റിനും വിശദമായ വിവരങ്ങൾ നൽകുന്നു (ഉദാഹരണത്തിന്, SQL കമാൻഡ് കോഡ്).

ട്രേസ് വിൻഡോയിൽ ലഭ്യമായ ഓപ്ഷനുകൾ:

1. ടാബിൽ ആണെങ്കിൽ നിരകൾ സംഘടിപ്പിക്കുകനിങ്ങൾ ഗ്രൂപ്പിംഗിനായി നിരകൾ തിരഞ്ഞെടുത്ത ടെംപ്ലേറ്റ് പ്രോപ്പർട്ടികളിൽ, കാണൽ വിൻഡോയിൽ ഈ കോളങ്ങൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് റെക്കോർഡുകൾ ഗ്രൂപ്പുചെയ്യാനാകും. ഈ ആവശ്യത്തിനായി മെനുവിൽ കാണുകകമാൻഡ് നൽകിയിരിക്കുന്നു ഗ്രൂപ്പുചെയ്ത കാഴ്ച;

2. പട്ടികയിൽ ഉണ്ടെങ്കിൽ ഗ്രൂപ്പ്ഒരു കോളം മാത്രമേ സ്ഥാപിച്ചിട്ടുള്ളൂ, തുടർന്ന് നിങ്ങൾക്ക് ഡിസ്പ്ലേ മോഡ് ഉപയോഗിക്കാനുള്ള ഓപ്ഷൻ ഉണ്ട് സംഗ്രഹിച്ച കാഴ്ച(ചിത്രം 8.3 കാണുക). കമാൻഡ് ഉപയോഗിച്ചാണ് ഈ മോഡ് പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്നത് സംഗ്രഹിച്ച കാഴ്ചഒരേ മെനുവിൽ നിന്ന് കാണുക.

അരി. 8.3ഡിസ്പ്ലേ മോഡ് സംഗ്രഹിച്ച കാഴ്ച

3. നിങ്ങൾക്ക് ഫയലുകളിൽ സംരക്ഷിച്ചിരിക്കുന്ന ഇവന്റുകൾ തുറക്കാനും പ്രൊഫൈലറിൽ പട്ടികകൾ കണ്ടെത്താനും കഴിയും. മെനു ഉപയോഗിച്ച് റെക്കോർഡ് ചെയ്ത പ്രവർത്തനങ്ങൾ ആവർത്തിക്കാനും സാധിക്കും വീണ്ടും പ്ലേ ചെയ്യുക;

4. സിസ്റ്റം മോണിറ്റർ പെർഫോമൻസ് കൗണ്ടറുമായി നിങ്ങൾക്ക് ട്രെയ്സ് വിവരങ്ങൾ ബന്ധപ്പെടുത്താം. ഇതിനായി:

നിരകൾക്കുള്ള വിവരങ്ങൾ രേഖപ്പെടുത്തേണ്ട ഒരു ട്രെയ്‌സിംഗ് സെഷൻ നിർവ്വചിക്കുക ആരംഭ സമയംഒപ്പം അവസാന സമയം;

ഒരു ഫയലിലേക്കോ ടേബിളിലേക്കോ വിവരങ്ങൾ രേഖപ്പെടുത്തിക്കൊണ്ട് ഒരു ട്രെയ്‌സിംഗ് സെഷൻ ആരംഭിക്കുക. അതേ സമയം, ഒരു ഫയലിലേക്ക് മീറ്റർ റീഡിംഗുകളുടെ ഒരു പ്രോട്ടോക്കോൾ ശേഖരിക്കുക പെർഫോമൻസ് മോണിറ്റർ;

· പ്രൊഫൈലറിലെ ട്രേസ് ഫയലിൽ നിന്ന് ശേഖരിച്ച വിവരങ്ങൾ തുറക്കുക, തുടർന്ന് കമാൻഡ് ഉപയോഗിക്കുക പ്രകടന ഡാറ്റ ഇറക്കുമതി ചെയ്യുകമെനുവിൽ നിന്ന് ഫയൽ.

ഞങ്ങളുടെ ജോലിയിൽ, ഒരു നിശ്ചിത അഭ്യർത്ഥന മന്ദഗതിയിലാകുന്ന ഒരു സാഹചര്യം ഞങ്ങൾ പലപ്പോഴും കാണാറുണ്ട്, കൂടാതെ അഭ്യർത്ഥനയുടെ വാചകത്തിൽ നിന്ന് വ്യക്തമായ പ്രശ്നങ്ങളൊന്നും ദൃശ്യമാകില്ല. സാധാരണയായി ഈ സാഹചര്യത്തിൽ പ്രശ്നം ആഴത്തിലുള്ള തലത്തിൽ അന്വേഷിക്കേണ്ടത് ആവശ്യമാണ്. ചട്ടം പോലെ, SQL അന്വേഷണത്തിന്റെ വാചകവും അതിന്റെ പ്ലാനും നോക്കേണ്ടതുണ്ട്, ഇവിടെയാണ് SQL പ്രൊഫൈലർ ഞങ്ങളെ സഹായിക്കുന്നത്.

എന്താണ് SQL പ്രൊഫൈലർ, എന്തുകൊണ്ട് ഇത് ആവശ്യമാണ്?

MS SQL സെർവറിൽ വിതരണം ചെയ്യുന്ന ഒരു പ്രോഗ്രാമാണ് SQL പ്രൊഫൈലർ, ഇത് SQL സെർവറിൽ സംഭവിക്കുന്ന എല്ലാ ഇവന്റുകളും കാണുന്നതിന് അല്ലെങ്കിൽ മറ്റൊരു രീതിയിൽ പറഞ്ഞാൽ, ഒരു ട്രെയ്സ് രേഖപ്പെടുത്തുന്നതിന് രൂപകൽപ്പന ചെയ്തിട്ടുള്ളതാണ്.

എന്തുകൊണ്ടാണ് ഒരു 1C പ്രോഗ്രാമർക്ക് SQL പ്രൊഫൈലർ ആവശ്യമായി വരുന്നത്?

കുറഞ്ഞത് SQL-ൽ ഒരു ചോദ്യത്തിന്റെ ടെക്സ്റ്റ് ലഭിക്കാനും അതിന്റെ പ്ലാൻ കാണാനും. തീർച്ചയായും, ഒരു ടെക്നോളജി മാസികയുടെ സഹായത്തോടെ ഇത് ചെയ്യാൻ കഴിയും, എന്നാൽ ഇതിന് ചില കഴിവുകൾ ആവശ്യമാണ്, സാങ്കേതിക ജേണലിലെ പ്ലാൻ വളരെ മനോഹരവും വായിക്കാവുന്നതുമല്ല.

പ്രൊഫൈലറിൽ നിങ്ങൾക്ക് ഒരു വാചകം മാത്രമല്ല, ഗ്രാഫിക്കൽ ക്വറി എക്സിക്യൂഷൻ പ്ലാനും കാണാൻ കഴിയും, അത് എന്റെ അഭിപ്രായത്തിൽ കൂടുതൽ സൗകര്യപ്രദമാണ്.

നിർണ്ണയിക്കാൻ നിങ്ങൾക്ക് പ്രൊഫൈലറും ഉപയോഗിക്കാം:

ഒരു നിശ്ചിത സമയത്തേക്കാൾ ദൈർഘ്യമേറിയ അഭ്യർത്ഥനകൾ

ഒരു നിർദ്ദിഷ്‌ട പട്ടികയ്‌ക്കെതിരായ അന്വേഷണങ്ങൾ

തടയാൻ കാത്തിരിക്കുന്നു

സമയപരിധി

സ്തംഭനാവസ്ഥ

അതോടൊപ്പം തന്നെ കുടുതല്…

SQL പ്രൊഫൈലർ ഉപയോഗിച്ച് ചോദ്യങ്ങൾ വിശകലനം ചെയ്യുന്നു

ചോദ്യങ്ങൾ വിശകലനം ചെയ്യാൻ പ്രൊഫൈലർ മിക്കപ്പോഴും ഉപയോഗിക്കുന്നു. ചട്ടം പോലെ, ഞങ്ങൾ എല്ലാ ചോദ്യങ്ങളും ട്രാക്ക് ചെയ്യേണ്ടതില്ല; പലപ്പോഴും 1C ഭാഷയിലെ ഒരു പ്രത്യേക ചോദ്യം SQL-ലേക്ക് വിവർത്തനം ചെയ്യുന്നതെങ്ങനെയെന്ന് കാണുകയും അതിന്റെ എക്സിക്യൂഷൻ പ്ലാൻ കാണുകയും വേണം. ഉദാഹരണത്തിന്, ഒരു ചോദ്യം സാവധാനത്തിൽ പ്രവർത്തിക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് നിർണ്ണയിക്കാൻ ഞങ്ങൾക്ക് ഇത് ആവശ്യമായി വന്നേക്കാം, അല്ലെങ്കിൽ ഞങ്ങൾ ഒരു വലിയ ചോദ്യം എഴുതിയിരിക്കാം, കൂടാതെ SQL അന്വേഷണ ബോഡിയിൽ ഒരു സബ്ക്വറിയിൽ ചേരുന്നില്ലെന്ന് ഉറപ്പാക്കാൻ ആഗ്രഹിക്കുന്നു.

ട്രെയ്‌സിൽ അഭ്യർത്ഥന പിടിക്കാൻ, ഇനിപ്പറയുന്നവ ചെയ്യുക:

1. SQL പ്രൊഫൈലർ സമാരംഭിക്കുക

ആരംഭിക്കുക - എല്ലാ പ്രോഗ്രാമുകളും - Microsoft SQL സെർവർ 2008 R2 - പ്രൊഡക്ടിവിറ്റി ടൂളുകൾ - SQL പ്രൊഫൈലർ

2. ഒരു പുതിയ ട്രെയ്സ് സൃഷ്ടിക്കുക

ഫയൽ - ട്രെയ്സ് സൃഷ്ടിക്കുക (Ctrl+N)
3. ഞങ്ങളുടെ ഡാറ്റാബേസ് സ്ഥിതി ചെയ്യുന്ന DBMS സെർവർ വ്യക്തമാക്കി "കണക്റ്റ്" ക്ലിക്ക് ചെയ്യുക.

സ്വാഭാവികമായും, മറ്റൊരു കമ്പ്യൂട്ടറിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു DBMS സെർവർ കണ്ടെത്തുന്നതിൽ നിന്ന് ഒന്നും നിങ്ങളെ തടയുന്നില്ല.

4. ദൃശ്യമാകുന്ന "ട്രേസ് പ്രോപ്പർട്ടീസ്" വിൻഡോയിൽ, രണ്ടാമത്തെ ടാബിലേക്ക് പോകുക "ഇവന്റുകൾ തിരഞ്ഞെടുക്കുക"

5. ഇപ്പോൾ നമുക്ക് ട്രെയ്‌സിൽ കാണാൻ ആഗ്രഹിക്കുന്ന ഈ ഇവന്റുകളുടെ ഇവന്റുകളും സവിശേഷതകളും വ്യക്തമാക്കേണ്ടതുണ്ട്.

ഞങ്ങൾക്ക് ചോദ്യങ്ങളും അന്വേഷണ പദ്ധതികളും ആവശ്യമാണ്, അതിനാൽ ഉചിതമായ ഇവന്റുകൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്. പ്രോപ്പർട്ടികളുടെയും ഇവന്റുകളുടെയും പൂർണ്ണമായ ലിസ്റ്റ് പ്രദർശിപ്പിക്കുന്നതിന്, "എല്ലാ കോളങ്ങളും കാണിക്കുക", "എല്ലാ ഇവന്റുകൾ കാണിക്കുക" ഫ്ലാഗുകളും പ്രവർത്തനക്ഷമമാക്കുക.

സംഭവങ്ങളുടെ വിവരണം:

ShowplanStatisticsProfile - ടെക്സ്റ്റ് ക്വറി എക്സിക്യൂഷൻ പ്ലാൻ

ShowplanXMLStatisticsProfile - ഗ്രാഫിക്കൽ ക്വറി എക്സിക്യൂഷൻ പ്ലാൻ

ആർ‌പി‌സി: പൂർത്തിയായി - ഒരു നടപടിക്രമമായി എക്‌സിക്യൂട്ട് ചെയ്‌താൽ ടെക്‌സ്‌റ്റ് അഭ്യർത്ഥിക്കുക (പാരാമീറ്ററുകളുള്ള ഒരു 1 സി അഭ്യർത്ഥന നടപ്പിലാക്കുകയാണെങ്കിൽ).

SQL:BatchCompleted - ഇത് ഒരു സാധാരണ ചോദ്യമായി എക്സിക്യൂട്ട് ചെയ്യുകയാണെങ്കിൽ ക്വറി ടെക്സ്റ്റ് (ഒരു 1C ചോദ്യം പാരാമീറ്ററുകൾ ഇല്ലാതെ എക്സിക്യൂട്ട് ചെയ്തിട്ടുണ്ടെങ്കിൽ).

6. ഇപ്പോൾ നിങ്ങൾ ഇവന്റുകൾക്കായി ഒരു ഫിൽട്ടർ സജ്ജീകരിക്കേണ്ടതുണ്ട്. ഇത് ചെയ്തില്ലെങ്കിൽ, ഈ DBMS സെർവറിൽ സ്ഥിതി ചെയ്യുന്ന എല്ലാ ഡാറ്റാബേസുകൾക്കുമുള്ള അന്വേഷണങ്ങൾ ഞങ്ങൾ കാണും.

"നിര ഫിൽട്ടറുകൾ" ബട്ടണിൽ ക്ലിക്ക് ചെയ്ത് ഡാറ്റാബേസ് നാമം അനുസരിച്ച് ഒരു ഫിൽട്ടർ വ്യക്തമാക്കുക

ഇപ്പോൾ നമുക്ക് "TestBase_8_2" ഡാറ്റാബേസിലേക്കുള്ള അഭ്യർത്ഥനകൾ മാത്രം ട്രെയ്സിൽ കാണാം

വേണമെങ്കിൽ, നിങ്ങൾക്ക് മറ്റ് ഫീൽഡുകൾ ഉപയോഗിച്ച് ഫിൽട്ടർ ചെയ്യാം, അവയിൽ ഏറ്റവും രസകരമായത് ഇവയാണ്: ദൈർഘ്യം, ടെക്സ്റ്റ് ഡാറ്റ (സാധാരണയായി അഭ്യർത്ഥനയുടെ ടെക്സ്റ്റ്), RowCounts (അഭ്യർത്ഥന നൽകിയ വരികളുടെ എണ്ണം).

ഉദാഹരണത്തിന്, "TestBase_8_2" ഡാറ്റാബേസിൽ 3 സെക്കൻഡിൽ കൂടുതൽ ദൈർഘ്യമുള്ള "_InfoRg4312" പട്ടികയിലേക്കുള്ള എല്ലാ അഭ്യർത്ഥനകളും എനിക്ക് പിടിക്കണമെങ്കിൽ, ഞാൻ ചെയ്യുന്നത്:

a) മുകളിൽ കാണിച്ചിരിക്കുന്ന ഉദാഹരണം, ഡാറ്റാബേസ് പ്രകാരം ഫിൽട്ടർ ചെയ്യുക

b) മില്ലിസെക്കൻഡിൽ ദൈർഘ്യമനുസരിച്ച് ഫിൽട്ടർ ചെയ്യുക.

സി) അഭ്യർത്ഥന വാചകം അനുസരിച്ച് ഫിൽട്ടർ ചെയ്യുക

ഇവിടെ ഞങ്ങൾ മാസ്ക് വ്യക്തമാക്കുന്നു. നിങ്ങൾക്ക് ഒന്നിലധികം ടേബിളുകൾ ആക്‌സസ് ചെയ്യുന്ന ചോദ്യങ്ങൾ ട്രാക്ക് ചെയ്യണമെങ്കിൽ, "സമാനമായത്" വിഭാഗത്തിൽ നിരവധി ഘടകങ്ങൾ സൃഷ്ടിക്കുക. എല്ലാ ഫിൽട്ടർ വ്യവസ്ഥകളും ഒരുമിച്ച് പ്രവർത്തിക്കുന്നു.

7. ഇപ്പോൾ നിങ്ങൾക്ക് ട്രെയ്സ് പ്രവർത്തിപ്പിക്കാൻ കഴിയും. "റൺ" ക്ലിക്ക് ചെയ്യുക, അതിനുശേഷം ട്രെയ്‌സിംഗ് പ്രവർത്തിക്കാൻ തുടങ്ങും, നിങ്ങൾ പ്രദർശിപ്പിക്കാൻ കോൺഫിഗർ ചെയ്‌തതും നിങ്ങളുടെ ഫിൽട്ടറുകൾക്ക് കീഴിൽ വരുന്നതുമായ ഇവന്റുകൾ നിങ്ങൾക്ക് കാണാൻ കഴിയും.

ട്രേസ് നിയന്ത്രിക്കാൻ നിങ്ങൾക്ക് കമാൻഡ് ബാറിലെ ബട്ടണുകൾ ഉപയോഗിക്കാം.

ഇടത്തുനിന്ന് വലത്തോട്ട്:

ഇറേസർ - ട്രേസ് വിൻഡോ മായ്‌ക്കുന്നു

ആരംഭിക്കുക - കണ്ടെത്തൽ ആരംഭിക്കുന്നു

താൽക്കാലികമായി നിർത്തുക - ട്രെയ്‌സിംഗ് താൽക്കാലികമായി നിർത്തുന്നു; നിങ്ങൾ ആരംഭിക്കുക ക്ലിക്കുചെയ്യുമ്പോൾ, ട്രെയ്‌സിംഗ് പുനരാരംഭിക്കുന്നു

നിർത്തുക - ട്രേസിംഗ് നിർത്തുന്നു

8. ട്രേസിംഗ് വിൻഡോ തന്നെ രണ്ട് ഭാഗങ്ങൾ ഉൾക്കൊള്ളുന്നു. മുകളിൽ ഇവന്റുകളും ഇവന്റ് പ്രോപ്പർട്ടികൾ ഉണ്ട്.

ഇവന്റുകളുടെ തരം അനുസരിച്ച് താഴെയുള്ള വിഭാഗം വ്യത്യസ്ത വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നു. ഞങ്ങളുടെ കാര്യത്തിൽ, അഭ്യർത്ഥനയുടെ വാചകം അല്ലെങ്കിൽ അതിന്റെ പ്ലാൻ ഇവിടെ പ്രദർശിപ്പിക്കും.

9. 1C ക്വറി കൺസോളിൽ അഭ്യർത്ഥന എക്സിക്യൂട്ട് ചെയ്ത് പ്രൊഫൈലറിൽ അത് എങ്ങനെ പ്രതിഫലിപ്പിക്കുന്നുവെന്ന് നോക്കാം.

നിരവധി അഭ്യർത്ഥനകൾ ഉണ്ടായിരുന്നുവെന്നും അവയിൽ ഒന്ന് മാത്രമാണ് ഞങ്ങളുടേതെന്നും ട്രെയ്സ് കാണിക്കുന്നു. മറ്റ് അഭ്യർത്ഥനകൾ സേവന അഭ്യർത്ഥനകളാണ്.

10. ഇവന്റുകളുടെ പ്രോപ്പർട്ടികളിൽ നിന്ന്, നിങ്ങൾക്ക് മനസിലാക്കാൻ കഴിയും: ചോദ്യം എത്ര സെക്കൻഡ് എക്സിക്യൂട്ട് ചെയ്തു (ദൈർഘ്യം), എത്ര ലോജിക്കൽ റീഡിംഗുകൾ ഉണ്ടായിരുന്നു (വായനകൾ), ഫലമായി അന്വേഷണം എത്ര വരികൾ മടങ്ങിയെത്തി (റൗകൗണ്ടുകൾ) മുതലായവ.

എന്റെ കാര്യത്തിൽ, ചോദ്യം 2 മില്ലിസെക്കൻഡ് ഓടി, 4 ലോജിക്കൽ റീഡുകൾ നടത്തി, 1 വരി തിരികെ നൽകി.

11. നമ്മൾ ഒരു ഇവന്റിലേക്ക് പോയാൽ, ഗ്രാഫിക്കൽ രൂപത്തിൽ ക്വറി പ്ലാൻ കാണാം.

പ്ലാനിൽ നിന്ന് കാണാൻ കഴിയുന്നതുപോലെ, ഈ പ്ലാനിനെ അനുയോജ്യമെന്ന് വിളിക്കാൻ കഴിയില്ലെങ്കിലും, ഇൻഡെക്‌സ് ഉപയോഗിച്ചാണ് തിരയൽ നടത്തുന്നത്. സൂചിക ഉൾപ്പെടുന്നില്ല, കോഡും നെയിം ഫീൽഡുകളും കീ ലുക്ക്അപ്പ് ഉപയോഗിച്ചാണ് ലഭിക്കുന്നത്, ഇതിന് 50% സമയമെടുക്കും.

സന്ദർഭ മെനു ഉപയോഗിച്ച്, ഗ്രാഫിക് പ്ലാൻ *.SQLPlan വിപുലീകരണം ഉപയോഗിച്ച് ഒരു പ്രത്യേക ഫയലായി സേവ് ചെയ്യാനും മറ്റൊരു കമ്പ്യൂട്ടറിൽ പ്രൊഫൈലറിൽ തുറക്കാനും അല്ലെങ്കിൽ കൂടുതൽ വിപുലമായ SQL Sentry Plan Explorer പ്രോഗ്രാം ഉപയോഗിക്കാനും കഴിയും.

12. നമ്മൾ ഇതിലും മുകളിലേക്ക് പോയാൽ, അതേ അന്വേഷണ പ്ലാൻ തന്നെ കാണും, പക്ഷേ ടെക്സ്റ്റ് രൂപത്തിൽ.

ഈ പ്ലാനാണ് TZ, TsUP, മറ്റ് 1C പെർഫോമൻസ് മോണിറ്ററിംഗ് ടൂളുകൾ എന്നിവയിൽ പ്രദർശിപ്പിക്കുന്നത്. ഇത് വിശകലനം ചെയ്യാൻ, നോട്ട്പാഡ്++ പോലെയുള്ള ബാക്ക്ലൈറ്റിംഗുള്ള വിപുലമായ ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിക്കാൻ ഞാൻ ശുപാർശ ചെയ്യുന്നു.

a) പ്രൊഫൈലറിന്റെ ഫോർമാറ്റിൽ തന്നെ, അതായത്. വിപുലീകരണത്തോടൊപ്പം *.trc

b) xml ഫോർമാറ്റിൽ

സി) നിങ്ങൾക്ക് ട്രേസിൽ നിന്ന് ഒരു ടെംപ്ലേറ്റ് ഉണ്ടാക്കാം. അടുത്ത പോയിന്റ് കാണുക.

അടുത്തതായി, നിങ്ങൾ നിർദ്ദിഷ്ട സെർവറിൽ ഒരു ഡാറ്റാബേസ് തിരഞ്ഞെടുത്ത് ട്രേസ് സംരക്ഷിക്കപ്പെടുന്ന പട്ടികയുടെ പേര് വ്യക്തമാക്കേണ്ടതുണ്ട്. നിങ്ങൾക്ക് നിലവിലുള്ള ഒരു പട്ടിക തിരഞ്ഞെടുക്കാം, അല്ലെങ്കിൽ ഒരു പുതിയ പേര് എഴുതുക, തുടർന്ന് തിരഞ്ഞെടുത്ത ഡാറ്റാബേസിൽ പട്ടിക യാന്ത്രികമായി സൃഷ്ടിക്കപ്പെടും.

ഒരു സെക്കൻഡിന്റെ ദശലക്ഷക്കണക്കിന് ടേബിളിൽ ദൈർഘ്യം സംഭരിച്ചിട്ടുണ്ടെന്നും ഫലം പ്രദർശിപ്പിക്കുമ്പോൾ, മൂല്യം മില്ലിസെക്കൻഡിലേക്ക് മാറ്റുന്നത് ഉചിതമാണെന്നും കണക്കിലെടുക്കണം. പട്ടികയിൽ RowNumber കോളവും ചേർത്തിട്ടുണ്ട്, ഇത് ട്രേസിലെ ഈ വരിയുടെ എണ്ണം കാണിക്കുന്നു.

14. അഭ്യർത്ഥനകൾ വിശകലനം ചെയ്യാൻ നിങ്ങൾ പലപ്പോഴും പ്രൊഫൈലർ ഉപയോഗിക്കേണ്ടതുണ്ടെങ്കിൽ, ആവശ്യമായ ഫിൽട്ടറുകളും ഇവന്റുകളും സജ്ജീകരിക്കുന്നത് പെട്ടെന്ന് ബോറടിക്കുകയും ധാരാളം സമയമെടുക്കുകയും ചെയ്യും.

ട്രെയ്‌സ് ടെംപ്ലേറ്റുകൾ രക്ഷാപ്രവർത്തനത്തിലേക്ക് വരുന്നു, അവിടെ നമുക്ക് ആവശ്യമായ ഫിൽട്ടറുകളും നിരകളുടെ ക്രമവും ഞങ്ങൾ വ്യക്തമാക്കുന്നു, തുടർന്ന് ഒരു പുതിയ ട്രെയ്സ് സൃഷ്ടിക്കുമ്പോൾ ഈ ടെംപ്ലേറ്റ് തിരഞ്ഞെടുക്കുക.

ഒരു ടെംപ്ലേറ്റ് സൃഷ്ടിക്കാൻ, മെനു ഉപയോഗിക്കുക ഫയൽ - ടെംപ്ലേറ്റുകൾ - പുതിയ ടെംപ്ലേറ്റ്

ആദ്യ ടാബിൽ എല്ലാം ലളിതമാണ്. ഞങ്ങൾ സെർവർ തരം, ടെംപ്ലേറ്റിന്റെ പേര് എന്നിവ സൂചിപ്പിക്കുന്നു, ആവശ്യമെങ്കിൽ, സ്ഥിരസ്ഥിതിയായി ഈ ടെംപ്ലേറ്റ് ഉപയോഗിക്കുന്നതിന് ഫ്ലാഗ് സജ്ജമാക്കുക.

രണ്ടാമത്തെ ടാബിൽ, മുകളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഞങ്ങൾ ഇവന്റുകൾ തിരഞ്ഞെടുത്ത് ഫിൽട്ടറുകൾ കോൺഫിഗർ ചെയ്യുന്നു.

ഇപ്പോൾ, ഒരു പുതിയ ട്രെയ്സ് സൃഷ്ടിക്കുമ്പോൾ, നിങ്ങൾക്ക് ആവശ്യമുള്ള ടെംപ്ലേറ്റ് വ്യക്തമാക്കാൻ കഴിയും, അതിനുശേഷം എല്ലാ ഫിൽട്ടറുകളും ഇവന്റുകളും രണ്ടാമത്തെ ടാബിൽ യാന്ത്രികമായി പൂരിപ്പിക്കും.

തീർച്ചയായും, ഈ അത്ഭുതകരമായ ഉപകരണം ഉപയോഗിക്കുന്നതിനുള്ള എല്ലാ വഴികളും ഇവിടെ കാണിച്ചിട്ടില്ല; ഭാവിയിൽ ഈ വിഷയത്തെക്കുറിച്ചുള്ള ലേഖനങ്ങളുടെ ശേഖരത്തിലേക്ക് ഞാൻ ചേർക്കുമെന്ന് ഞാൻ കരുതുന്നു.

SQL പ്രൊഫൈലർ ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് നിങ്ങൾക്ക് ഇപ്പോഴും ചോദ്യങ്ങളുണ്ടെങ്കിൽ, അഭിപ്രായങ്ങളിൽ അവരോട് ചോദിക്കുക, ഉത്തരം നൽകാൻ ഞാൻ സന്തുഷ്ടനാണ്.

ഇന്ന് ഞങ്ങൾ ഞങ്ങളുടെ ആപ്ലിക്കേഷന്റെ പ്രകടനം അളക്കും വിഷ്വൽ സ്റ്റുഡിയോ പ്രൊഫൈലിംഗ് ടൂൾ.

വിഷ്വൽ സ്റ്റുഡിയോ പ്രൊഫൈലിംഗ് ടൂൾആപ്ലിക്കേഷന്റെയും കോഡിന്റെയും പ്രകടനം അളക്കാനും വിലയിരുത്താനും ഡവലപ്പർമാരെ അനുവദിക്കുന്നു. ഡവലപ്പർക്ക് തടസ്സമില്ലാത്ത നിയന്ത്രണം നൽകുന്നതിനായി ഈ ഉപകരണങ്ങൾ പൂർണ്ണമായും IDE-യിൽ നിർമ്മിച്ചിരിക്കുന്നു.
ഈ ട്യൂട്ടോറിയലിൽ ഞങ്ങൾ ആപ്ലിക്കേഷൻ ഘട്ടം ഘട്ടമായി പ്രൊഫൈൽ ചെയ്യും പീപ്പിൾട്രാക്സ്ഉപയോഗിക്കുന്നത് സാമ്പിളിംഗ്ഒപ്പം ഇൻസ്ട്രുമെന്റേഷൻആപ്ലിക്കേഷൻ പ്രകടനത്തിലെ പ്രശ്നങ്ങൾ തിരിച്ചറിയുന്നതിനുള്ള പ്രൊഫൈലിംഗ് ടെക്നിക്കുകൾ.

ഒരുപാട് ചിത്രങ്ങൾ.

തയ്യാറാക്കൽ

ഈ ഗൈഡിനൊപ്പം പ്രവർത്തിക്കാൻ നിങ്ങൾക്ക് ഇത് ആവശ്യമാണ്:
  • മൈക്രോസോഫ്റ്റ് വിഷ്വൽ സ്റ്റുഡിയോ 2010
  • C# ഭാഷയെക്കുറിച്ചുള്ള ശരാശരി അറിവ്
  • PeopleTrax ടെസ്റ്റ് ആപ്ലിക്കേഷന്റെ ഒരു പകർപ്പ്, നിങ്ങൾക്ക് MSDN കോഡ് ഗാലറിയിൽ നിന്ന് ഡൗൺലോഡ് ചെയ്യാം

പ്രൊഫൈലിംഗ് രീതികൾ

ലേഖനത്തിന്റെ പ്രധാന വിഷയത്തിൽ നിന്ന് അല്പം പിന്നോട്ട് പോകാം, സാധ്യമായ പ്രൊഫൈലിംഗ് രീതികൾ പരിഗണിക്കുക. ഈ അധ്യായം ഒഴിവാക്കാം; ഉപയോഗിച്ച പ്രൊഫൈലിംഗ് രീതികൾ ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഹ്രസ്വമായി വിവരിക്കും.
സാമ്പിളിംഗ്
സാമ്പിളിംഗ്- ആപ്ലിക്കേഷന്റെ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള സ്റ്റാറ്റിസ്റ്റിക്കൽ ഡാറ്റ ശേഖരിക്കുന്നു (പ്രൊഫൈലിംഗ് സമയത്ത്). ഈ രീതി ഭാരം കുറഞ്ഞതാണ്, അതിനാൽ, അതിന്റെ പ്രവർത്തനത്തിന്റെ ഫലമായി, ലഭിച്ച ഡാറ്റയിൽ വളരെ ചെറിയ പിശക് ഉണ്ട്.

ഓരോ നിശ്ചിത സമയ ഇടവേളയിലും, കോൾ സ്റ്റാക്കിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കുന്നു. ഈ ഡാറ്റയെ അടിസ്ഥാനമാക്കി, ഉൽപാദനക്ഷമത കണക്കാക്കുന്നു. പ്രാരംഭ പ്രൊഫൈലിങ്ങിനും പ്രോസസർ ഉപയോഗവുമായി ബന്ധപ്പെട്ട പ്രശ്നങ്ങൾ തിരിച്ചറിയുന്നതിനും ഉപയോഗിക്കുന്നു.

ഇൻസ്ട്രുമെന്റേഷൻ
ഇൻസ്ട്രുമെന്റേഷൻ- വിളിക്കപ്പെടുന്ന ഓരോ പ്രവർത്തനത്തിന്റെയും പ്രവർത്തന സമയത്തെക്കുറിച്ചുള്ള വിശദമായ വിവരങ്ങൾ ശേഖരിക്കുന്നു. I/O പ്രവർത്തനങ്ങളുടെ പ്രകടനം അളക്കാൻ ഉപയോഗിക്കുന്നു.

ഈ രീതി അതിന്റെ കോഡ് ഒരു ബൈനറി ഫയലിലേക്ക് ഉൾച്ചേർക്കുന്നു, അത് ഫയലിലെ ഓരോ ഫംഗ്ഷനും അതിനുള്ളിൽ വിളിക്കപ്പെടുന്ന ഓരോ ഫംഗ്ഷനും സമയ വിവരങ്ങൾ രേഖപ്പെടുത്തുന്നു.

കഴിഞ്ഞ സമയം നൽകുന്നതിന് റിപ്പോർട്ടിൽ 4 മൂല്യങ്ങൾ അടങ്ങിയിരിക്കുന്നു:

  • കടന്നുപോയി- ഫംഗ്ഷൻ നിർവഹിക്കാൻ ചെലവഴിച്ച ആകെ സമയം
  • ആപ്ലിക്കേഷൻ ഉൾപ്പെടെ- ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലേക്കുള്ള കോളുകളുടെ സമയം ഒഴികെ, ഒരു ഫംഗ്ഷൻ നടപ്പിലാക്കാൻ ചെലവഴിച്ച സമയം.
  • കാലഹരണപ്പെട്ട എക്സ്ക്ലൂസീവ്- ശരീരത്തിൽ കോഡ് നടപ്പിലാക്കാൻ ചെലവഴിച്ച സമയം. ടാർഗെറ്റ് ഫംഗ്‌ഷൻ വിളിക്കുന്ന ഫംഗ്‌ഷനുകൾ ചെലവഴിച്ച സമയം.
  • ആപ്ലിക്കേഷൻ എക്സ്ക്ലൂസീവ്- ശരീരത്തിൽ കോഡ് നടപ്പിലാക്കാൻ ചെലവഴിച്ച സമയം. ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കോളുകൾ എക്സിക്യൂട്ട് ചെയ്യാൻ ചെലവഴിച്ച സമയവും ടാർഗെറ്റ് ഫംഗ്‌ഷൻ വിളിക്കുന്ന ഫംഗ്‌ഷനുകൾ എക്‌സിക്യൂട്ട് ചെയ്യാൻ ചെലവഴിച്ച സമയവും ഒഴിവാക്കുന്നു.
കൺകറൻസി
കൺകറൻസി- മൾട്ടി-ത്രെഡഡ് ആപ്ലിക്കേഷനുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കുന്നു (മൾട്ടി-ത്രെഡഡ് ആപ്ലിക്കേഷനുകൾ എങ്ങനെ ഡീബഗ് ചെയ്യാം എന്നതിന്, "വിഷ്വൽ സ്റ്റുഡിയോ 2010-ലെ മൾട്ടി-ത്രെഡഡ് ആപ്ലിക്കേഷനുകൾ ഡീബഗ്ഗിംഗ് ചെയ്യുന്നതിനുള്ള ഗൈഡ്" കാണുക). മത്സരിക്കുന്ന ത്രെഡുകൾ ഒരു ഉറവിടത്തിലേക്കുള്ള ആക്‌സസിനായി കാത്തിരിക്കാൻ നിർബന്ധിതമാകുമ്പോഴെല്ലാം ഈ രീതി വിശദമായ കോൾ സ്റ്റാക്ക് വിവരങ്ങൾ ശേഖരിക്കുന്നു.
.NET മെമ്മറി
.NET മെമ്മറി- വിതരണത്തിൽ സൃഷ്‌ടിച്ചതോ മാലിന്യ ശേഖരണക്കാരൻ നശിപ്പിച്ചതോ ആയ വസ്തുക്കളുടെ തരം, വലുപ്പം, എണ്ണം എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങൾ പ്രൊഫൈലർ ശേഖരിക്കുന്നു. മെമ്മറി പ്രൊഫൈലിംഗ് ആപ്ലിക്കേഷന്റെ മൊത്തത്തിലുള്ള പ്രകടനത്തെ ഏറെക്കുറെ സ്വാധീനിക്കുന്നില്ല.
ടയർ ഇന്ററാക്ഷൻ
ടയർ ഇന്ററാക്ഷൻ- സിൻക്രണസ് കോളുകളെക്കുറിച്ചുള്ള പ്രൊഫൈലിംഗ് ഫയലിലേക്ക് വിവരങ്ങൾ ചേർക്കുന്നു ADO.NETപേജിന് ഇടയിൽ ASP.NETഅല്ലെങ്കിൽ മറ്റ് ആപ്ലിക്കേഷനുകൾ കൂടാതെ SQLസെർവർ. ഡാറ്റയിൽ കോളുകളുടെ നമ്പറും സമയവും കൂടാതെ പരമാവധി, കുറഞ്ഞ സമയവും ഉൾപ്പെടുന്നു.

പ്രൊഫൈലിംഗ് രീതികളെക്കുറിച്ചുള്ള ഞങ്ങളുടെ പരിഗണന ഇത് അവസാനിപ്പിക്കുന്നു, കൂടാതെ ആപ്ലിക്കേഷനുകൾ എങ്ങനെ പ്രൊഫൈൽ ചെയ്യാമെന്ന് ഞങ്ങൾ പഠിക്കുന്നത് തുടരും.

സാമ്പിൾ രീതി ഉപയോഗിച്ച് പ്രൊഫൈലിംഗ്

സജീവമായ ഫംഗ്‌ഷൻ നിർണ്ണയിക്കാൻ ചോദ്യം ചെയ്യപ്പെടുന്ന പ്രക്രിയയെ ഇടയ്‌ക്കിടെ വോട്ടെടുപ്പ് നടത്തുന്ന ഒരു പ്രൊഫൈലിംഗ് സാങ്കേതികതയാണ് സാംപ്ലിംഗ്. ടെസ്റ്റിംഗ് സമയത്ത് കോൾ സ്റ്റാക്കിന്റെ തുടക്കത്തിൽ ഫംഗ്‌ഷൻ എത്ര തവണ ഉണ്ടായിരുന്നുവെന്ന് ഫലം കാണിക്കുന്നു.
പ്രൊഫൈലിംഗ്
ഒരു പരീക്ഷണ പദ്ധതി തുറക്കുക പീപ്പിൾട്രാക്സ്. കോൺഫിഗറേഷൻ സജ്ജമാക്കുക പ്രകാശനം(അപ്ലിക്കേഷൻ ഡീബഗ് ചെയ്യുന്നതിനായി അധിക വിവരങ്ങൾ ഡീബഗ് പതിപ്പിൽ നിർമ്മിച്ചിരിക്കുന്നു, മാത്രമല്ല ഇത് പ്രൊഫൈലിംഗ് ഫലങ്ങളുടെ കൃത്യതയെ മോശമായി ബാധിക്കുകയും ചെയ്യും).

മെനുവിൽ വിശകലനം ചെയ്യുകക്ലിക്ക് ചെയ്യുക പ്രകടന വിസാർഡ് സമാരംഭിക്കുക.

ഈ ഘട്ടത്തിൽ, നിങ്ങൾ ഒരു പ്രൊഫൈലിംഗ് രീതി തിരഞ്ഞെടുക്കേണ്ടതുണ്ട്. സിപിയു സാംപ്ലിംഗ് (ശുപാർശ ചെയ്യുന്നത്) തിരഞ്ഞെടുത്ത് അടുത്തത് ക്ലിക്കുചെയ്യുക.

ഏത് ആപ്ലിക്കേഷനാണ് ഞങ്ങൾ പ്രൊഫൈൽ ചെയ്യേണ്ടതെന്ന് ഞങ്ങൾ തിരഞ്ഞെടുക്കുന്നു, ഇതാണ് പീപ്പിൾട്രാക്സ്നെക്സ്റ്റ് ബട്ടണും. അടുത്തതായി, പൂർത്തിയാക്കുക ക്ലിക്കുചെയ്യുക, പ്രൊഫൈലറും ഞങ്ങളുടെ ആപ്ലിക്കേഷനും സ്വയമേവ സമാരംഭിക്കും. സ്ക്രീനിൽ നമ്മൾ പീപ്പിൾട്രാക്സ് പ്രോഗ്രാം കാണുന്നു. ബട്ടൺ അമർത്തുക ആളുകളെ നേടുക, ജോലി പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കുക ഒപ്പം ഡാറ്റ കയറ്റുമതി ചെയ്യുക. നോട്ട്പാഡ് അടച്ച് പ്രോഗ്രാമും പ്രൊഫൈലറും ഒരു റിപ്പോർട്ട് സൃഷ്ടിക്കും.

പ്രൊഫൈലർ ഒരു റിപ്പോർട്ട് സൃഷ്ടിച്ചു (*.vsp)

സാമ്പിൾ രീതി റിപ്പോർട്ടിന്റെ വിശകലനം
IN സംഗ്രഹംപ്രൊഫൈലിംഗ് സമയത്തിലുടനീളം CPU ഉപയോഗത്തിന്റെ ഒരു ഗ്രാഫ് പ്രദർശിപ്പിക്കും. ലിസ്റ്റ് ചൂടുള്ള പാതഏറ്റവും കൂടുതൽ പ്രവർത്തനം കാണിച്ച കോൾ ത്രെഡുകൾ കാണിക്കുന്നു. ഒപ്പം പട്ടികയിലും മിക്ക വ്യക്തിഗത ജോലികളും ചെയ്യുന്ന പ്രവർത്തനങ്ങൾ(ഇതിന്റെ പേര് സ്വയം സംസാരിക്കുന്നു) - ഉൾക്കൊള്ളുന്ന പ്രവർത്തനങ്ങൾ b ഈ പ്രവർത്തനങ്ങളുടെ ശരീരത്തിൽ കൂടുതൽ പ്രോസസ്സ് സമയം.

ലിസ്റ്റ് നോക്കുന്നു ചൂടുള്ള പാതആ രീതി ഞങ്ങൾ കാണുന്നു PeopleNS.People.GetNamesചലഞ്ച് ത്രെഡിൽ ഏതാണ്ട് അവസാന സ്ഥാനമാണ്. പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിന് അത് കൂടുതൽ സൂക്ഷ്മമായി പഠിക്കാൻ കഴിയും. ക്ലിക്ക് ചെയ്യുക PeopleNS.People.GetNamesഅതു നമ്മുടെ മുമ്പിൽ തുറക്കുന്നു പ്രവർത്തന വിശദാംശങ്ങൾ.

ഈ വിൻഡോയിൽ രണ്ട് ഭാഗങ്ങൾ അടങ്ങിയിരിക്കുന്നു. ഫംഗ്‌ഷനുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിന്റെ ഒരു ഗ്രാഫിക്കൽ പ്രാതിനിധ്യം, സാമ്പിൾ ചെയ്‌ത സന്ദർഭങ്ങളുടെ എണ്ണത്തിൽ ഫംഗ്‌ഷന്റെയും അതിന്റെ കോളർമാരുടെയും സംഭാവന കോസ്റ്റ് വിൻഡോ നൽകുന്നു. മൗസ് ഉപയോഗിച്ച് അതിൽ ക്ലിക്കുചെയ്ത് നിങ്ങൾക്ക് സംശയാസ്പദമായ പ്രവർത്തനം മാറ്റാൻ കഴിയും.

ഫംഗ്ഷൻ കോഡ് കാഴ്ചമെത്തേഡ് കോഡ് ലഭ്യമാകുമ്പോൾ അത് കാണിക്കുകയും തിരഞ്ഞെടുത്ത രീതിയിലെ ഏറ്റവും ചെലവേറിയ ലൈനുകൾ ഹൈലൈറ്റ് ചെയ്യുകയും ചെയ്യുന്നു. ഒരു രീതി തിരഞ്ഞെടുക്കുമ്പോൾ GetNamesആപ്ലിക്കേഷൻ റിസോഴ്സുകളിൽ നിന്ന് ഇത് സ്ട്രിംഗുകൾ വായിക്കുന്നതായി കാണാൻ കഴിയും സ്ട്രിംഗ് റീഡർ, എന്നതിലേക്ക് ഓരോ വരിയും ചേർക്കുന്നു അറേ ലിസ്റ്റ്. ഈ ഭാഗം മെച്ചപ്പെടുത്തുന്നതിന് വ്യക്തമായ വഴികളൊന്നുമില്ല.

കാരണം ജനംഎൻഎസ്.ജനങ്ങൾ.ജനങ്ങൾവിളിക്കുന്നവൻ മാത്രം GetNames- അമർത്തുക ഗെറ്റ് പീപ്പിൾ. ഈ രീതി തിരികെ നൽകുന്നു അറേ ലിസ്റ്റ്വസ്തുക്കൾ വ്യക്തിവിവരങ്ങൾ എൻഎസ്.വ്യക്തിവിവരംരീതി പ്രകാരം തിരികെ നൽകിയ ആളുകളുടെയും കമ്പനികളുടെയും പേരുകൾ സഹിതം GetNames. എന്നിരുന്നാലും, GetNamesസൃഷ്ടിക്കപ്പെടുമ്പോഴെല്ലാം രണ്ടുതവണ വിളിക്കുന്നു വ്യക്തിവിവരങ്ങൾ. (ഇത് മഞ്ഞയും ചുവപ്പും ഹൈലൈറ്റിംഗിലൂടെ കാണിക്കുന്നു). വ്യക്തമായും, രീതിയുടെ തുടക്കത്തിൽ ഒരിക്കൽ മാത്രം ലിസ്റ്റുകൾ സൃഷ്ടിച്ചുകൊണ്ട് നിങ്ങൾക്ക് രീതി എളുപ്പത്തിൽ ഒപ്റ്റിമൈസ് ചെയ്യാൻ കഴിയും.

ഇതര പതിപ്പ് ഗെറ്റ് പീപ്പിൾകോഡിലും ഉണ്ട്, ഞങ്ങൾ അത് ഇപ്പോൾ പ്രവർത്തനക്ഷമമാക്കും. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾ നിർണ്ണയിക്കേണ്ടതുണ്ട് OPTIMIZED_GETPEOPLEപ്രോജക്റ്റ് പ്രോപ്പർട്ടികൾ വിൻഡോയിലെ സോപാധിക സമാഹാര ചിഹ്നമായി ആളുകൾഒപ്പം പീപ്പിൾട്രാക്സ്. അതെ, നിങ്ങൾക്ക് എന്റെ പരീക്ഷണങ്ങൾ ആവർത്തിക്കണമെങ്കിൽ, പ്രോജക്റ്റിലെ പിശക് നിങ്ങൾ തിരുത്തേണ്ടതുണ്ട്. ഒപ്റ്റിമൈസ് ചെയ്ത ക്ലാസ് കൺസ്ട്രക്റ്ററിൽ, ഉറവിടങ്ങളുടെ പേര് ശരിയായി എഴുതിയിട്ടില്ല: നിങ്ങൾക്ക് PeopleNS.Resources-നൊപ്പം PeopleNS.Resources-ഉം ആവശ്യമാണ്. ഇത് മാറ്റിയില്ലെങ്കിൽ, എല്ലാം ഭയാനകമായ പിശകുകളിൽ അവസാനിക്കും.

ഒപ്റ്റിമൈസ് ചെയ്ത രീതി അടുത്ത ബിൽഡിൽ പഴയത് മാറ്റിസ്ഥാപിക്കും.

ക്ലിക്ക് ചെയ്തുകൊണ്ട് നിലവിലെ സെഷനിൽ പ്രൊഫൈലിംഗ് പുനരാരംഭിക്കുക പ്രൊഫൈലിംഗ് ഉപയോഗിച്ച് സമാരംഭിക്കുകവിൻഡോയിൽ പെർഫോമൻസ് എക്സ്പ്ലോറർ. ക്ലിക്ക് ചെയ്യുക ആളുകളെ നേടുകഒപ്പം ഡാറ്റ കയറ്റുമതി ചെയ്യുക. നോട്ട്പാഡ് അടച്ച് പ്രോഗ്രാമും പ്രൊഫൈലറും ഒരു പുതിയ റിപ്പോർട്ട് സൃഷ്ടിക്കും.

രണ്ട് റിപ്പോർട്ടുകൾ താരതമ്യം ചെയ്യാൻ, രണ്ടും RMB തിരഞ്ഞെടുക്കുക പ്രകടന റിപ്പോർട്ടുകൾ താരതമ്യം ചെയ്യുക. ഡെൽറ്റ കോളം പതിപ്പ് പ്രകടനത്തിലെ വ്യത്യാസം കാണിക്കുന്നു അടിസ്ഥാനരേഖപിന്നീട് മുതൽ താരതമ്യം. തിരഞ്ഞെടുക്കുക ഉൾപ്പെടുന്ന സാമ്പിളുകൾ %കൂടാതെ അപേക്ഷിക്കുക.

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, പ്രകടന നേട്ടം നഗ്നനേത്രങ്ങൾക്ക് ശ്രദ്ധേയമാണ്

ഇൻസ്ട്രുമെന്റേഷൻ രീതി ഉപയോഗിച്ച് പ്രൊഫൈലിംഗ്

I/O, ഡിസ്ക് റൈറ്റുകൾ, നെറ്റ്‌വർക്ക് ആശയവിനിമയങ്ങൾ എന്നിവ പ്രൊഫൈൽ ചെയ്യുന്നതിന് ഈ രീതി ഉപയോഗപ്രദമാണ്. ഈ രീതി മുമ്പത്തേതിനേക്കാൾ കൂടുതൽ വിവരങ്ങൾ നൽകുന്നു, എന്നാൽ ഇത് കൂടുതൽ ഓവർഹെഡ് ഉണ്ടാക്കുന്നു. അധിക കോഡ് ചേർത്തതിന് ശേഷം ലഭിക്കുന്ന ബൈനറികൾ സാധാരണയേക്കാൾ വലുതാണ്, അവ വിന്യാസത്തിന് ഉദ്ദേശിച്ചുള്ളതല്ല.

ഈ സമയം ഞങ്ങൾ ഡാറ്റ എക്‌സ്‌പോർട്ടിൽ ഞങ്ങളുടെ വിശകലനം കേന്ദ്രീകരിക്കും, അതിൽ ആളുകളുടെ ഒരു ലിസ്റ്റ് ഒരു നോട്ട്പാഡ് ഫയലിൽ എഴുതിയിരിക്കുന്നു.

പ്രൊഫൈലിംഗ്
IN പെർഫോമൻസ് എക്സ്പ്ലോറർതിരഞ്ഞെടുക്കുക ഇൻസ്ട്രുമെന്റേഷൻപ്രൊഫൈലിംഗ് ആരംഭിക്കുക ക്ലിക്കുചെയ്യുക. ആളുകളെ നേടുക ക്ലിക്കുചെയ്യുക. ആളുകളെ ലോഡുചെയ്‌ത ശേഷം, 10 സെക്കൻഡ് കാത്തിരുന്ന് ഡാറ്റ എക്‌സ്‌പോർട്ട് ചെയ്യുക ക്ലിക്കുചെയ്യുക. നോട്ട്പാഡും പ്രോഗ്രാമും അടയ്ക്കുക. പ്രൊഫൈലർ ഒരു റിപ്പോർട്ട് സൃഷ്ടിക്കും.
വിശകലനം
പ്രൊഫൈലർ ഈ ചിത്രം കാണിക്കും:

ഞങ്ങൾ ആഗ്രഹിച്ച വിവരങ്ങൾ ലഭിച്ചില്ല. നമുക്ക് ഡാറ്റ ഫിൽട്ടർ ചെയ്യാം. ഇനി ആവശ്യമില്ലാത്ത പ്രൊഫൈലിംഗ് ഡാറ്റ ഫിൽട്ടർ ചെയ്യാൻ ഞങ്ങൾ പ്രത്യേകമായി 10 സെക്കൻഡ് കാത്തിരുന്നു. 13 മുതൽ അവസാനം വരെ അടയാളപ്പെടുത്തി അമർത്തുക തിരഞ്ഞെടുക്കൽ പ്രകാരം ഫിൽട്ടർ ചെയ്യുക. മറ്റൊരു ഫലം:

ചൂടുള്ള പാതരീതി എന്ന് കാണിക്കുന്നു കോൺകാറ്റ്വളരെയധികം സമയമെടുക്കുന്നു (മിക്ക വ്യക്തിഗത ജോലികളുള്ള ഫംഗ്‌ഷനുകളിലും ഇത് ആദ്യത്തേതാണ്). ക്ലിക്ക് ചെയ്യുക കോൺകാറ്റ്രീതിയെക്കുറിച്ചുള്ള വിശദമായ വിവരങ്ങൾ കാണുന്നതിന്.

അത് വ്യക്തമാണ് PeopleTrax.Form1.ExportDataവിളിക്കുന്ന ഒരേയൊരു രീതിയാണ് കോൺകാറ്റ്. ക്ലിക്ക് ചെയ്യുക PeopleTrax.Form1.ExportDataകോളിംഗ് രീതികളിൽ ( ഈ ഫംഗ്‌ഷനെ വിളിക്കുന്ന ഫംഗ്‌ഷൻ).

കോഡ് വിൻഡോയിലെ രീതി വിശകലനം ചെയ്യാം. Concat-ലേക്ക് നേരിട്ട് കോൾ ഇല്ല എന്നത് ശ്രദ്ധിക്കുക. ഇതോടൊപ്പം ഓപ്പറണ്ടിന്റെ ഉപയോഗവുമുണ്ട് += , കംപൈലർ രീതികൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു System.String.Concat. മിക്കവാറും എല്ലാവർക്കും ഇതിനകം അറിയാവുന്നതുപോലെ, .NET-ലെ സ്ട്രിംഗുകളിൽ എന്തെങ്കിലും മാറ്റങ്ങൾ വരുത്തിയാൽ, സ്ട്രിംഗിന്റെ പഴയ പതിപ്പ് നശിപ്പിക്കപ്പെടുകയും പരിഷ്കരിച്ച ഒരു സ്ട്രിംഗ് സൃഷ്ടിക്കുകയും ചെയ്യും. ഭാഗ്യവശാൽ .NET ന് ഒരു ക്ലാസ് ഉണ്ട് സ്ട്രിംഗ് ബിൽഡർഇത്തരത്തിലുള്ള ജോലികൾക്കായി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.

പ്രോജക്റ്റിന് ഇതിനകം തന്നെ ഒപ്റ്റിമൈസ് ചെയ്ത ഒരു രീതി ഉണ്ട് സ്ട്രിംഗ് ബിൽഡർ. പീപ്പിൾട്രാക്സ് പ്രോജക്റ്റിൽ, ഒരു കംപൈലേഷൻ വേരിയബിൾ ചേർക്കുക OPTIMIZED_EXPORTDATA. ഞങ്ങൾ പ്രൊഫൈലർ വീണ്ടും സംരക്ഷിച്ച് പ്രവർത്തിപ്പിക്കുകയും റിപ്പോർട്ടുകൾ താരതമ്യം ചെയ്യുകയും ചെയ്യുന്നു. കോൺകാറ്റ് കോളുകൾ (6000 മുതൽ 0 തവണ വരെ) ഞങ്ങൾ ഒപ്റ്റിമൈസ് ചെയ്‌തുവെന്നത് ഉടനടി വ്യക്തമാണ് (യുക്തിപരമായി മനസ്സിലാക്കാവുന്നതുമാണ്).

ആപ്ലിക്കേഷൻ സമാരംഭിച്ചതിന് ശേഷം, പ്രകടനത്തിൽ ശ്രദ്ധേയമായ പുരോഗതി നിങ്ങൾക്ക് കാണാൻ കഴിയും. ദൃശ്യമായ മെച്ചപ്പെടുത്തലുകൾ ഉണ്ടെങ്കിലും പ്രൊഫൈലിംഗ് വീണ്ടും പ്രവർത്തിപ്പിക്കുന്നത് വളരെ പ്രധാനമാണ്. പ്രശ്നം പരിഹരിച്ചതിന് ശേഷം പുതിയ ഡാറ്റ അവലോകനം ചെയ്യുന്നത് ആപ്ലിക്കേഷൻ പ്രകടനത്തിലെ മറ്റ് പ്രശ്നങ്ങൾ വെളിപ്പെടുത്തിയേക്കാം.

എന്റെ പ്രിയപ്പെട്ട ടൂളുകളിൽ ഒന്നാണ് SQL സെർവർ പ്രൊഫൈലർ, പലപ്പോഴും പ്രൊഫൈലർ എന്ന് വിളിക്കപ്പെടുന്നു. ഈ യൂട്ടിലിറ്റി എത്ര വിശദമായ SQL സെർവർ ഇവന്റുകളിലെയും ഡാറ്റ പ്രദർശിപ്പിക്കുന്നു. ഈ സെർവർ ഇവന്റുകൾ ട്രേസ് പ്രോപ്പർട്ടീസ് വിൻഡോയിൽ കാണാൻ കഴിയും (ചിത്രം 49.3), പിന്നീടുള്ള വിശകലനത്തിനായി ഒരു ഫയലിലോ പട്ടികയിലോ റെക്കോർഡ് ചെയ്യാനും കഴിയും. എല്ലാ ഇവന്റുകളും അല്ലെങ്കിൽ അവയിൽ നിന്ന് തിരഞ്ഞെടുത്ത ഒരു ഉപവിഭാഗവും രജിസ്റ്റർ ചെയ്യാൻ ഫിൽട്ടറുകൾ സജ്ജമാക്കാൻ കഴിയും.

Puc. 49.2 ഈ ഉദാഹരണത്തിൽ, കൌണ്ടർ പ്രോട്ടോക്കോൾ വിവരങ്ങൾ രേഖപ്പെടുത്തും

C:\Perf Logs ഡയറക്ടറിയിലെ SQL സെർവർ പ്രകടനത്തെക്കുറിച്ച്

മാനേജ്മെന്റ് സ്റ്റുഡിയോയിലെ ടൂൾസ് മെനുവിൽ നിന്നോ സ്റ്റാർട്ട് മെനുവിലെ SQL സെർവർ 2005 ഫോൾഡറിൽ നിന്നോ നിങ്ങൾക്ക് SQL സെർവർ പ്രൊഫൈലർ സമാരംഭിക്കാം. പ്രവർത്തനം കാണുന്നതിന്, ഒന്നുകിൽ നിങ്ങൾ ഒരു പുതിയ ട്രെയ്സ് നിർവ്വചിക്കണം അല്ലെങ്കിൽ നിലവിലുള്ള ഒരു ഫയൽ ഉപയോഗിക്കണം.

SP1 പുറത്തിറങ്ങിയതോടെ, SQL സെർവർ പ്രൊഫൈലറിന് ശ്രദ്ധ ലഭിച്ചു! വലിയ കമ്പ്യൂട്ടറുകളിൽ വലിയ ഡാറ്റാ സെറ്റുകൾ കണ്ടെത്തുക.

കൂടാതെ, മുമ്പ് വിശകലന സേവനം നിരീക്ഷിക്കുമ്പോൾ, സമയം യൂണിവേഴ്സൽ ടൈം ടൈം (UTC) യൂണിറ്റുകളിൽ പ്രദർശിപ്പിച്ചിരുന്നു. ലോക്കൽ സിസ്റ്റം സമയമാണ് ഇപ്പോൾ ഉപയോഗിക്കുന്നത്. മുമ്പ്, വിജയകരമായി പുനർനിർമ്മിച്ച ഇവന്റുകൾ ശരിയായി കണക്കാക്കിയിരുന്നില്ല, അതിന്റെ ഫലമായി ഉപയോക്താവിന് തെറ്റായ സ്ഥിതിവിവരക്കണക്കുകൾ ലഭിക്കുന്നു. ഈ പ്രശ്നം പരിഹരിച്ചു.

ഒരു പുതിയ ട്രെയ്സ് നിർവചിക്കുന്നു

ഒരു പുതിയ ട്രെയ്‌സ് സൃഷ്‌ടിക്കുമ്പോൾ (ഒന്നുകിൽ ഫയൽ^ന്യൂ ട്രേസ് മെനു കമാൻഡ് അല്ലെങ്കിൽ ന്യൂ ട്രേസ് ടൂൾബാർ ബട്ടൺ ഉപയോഗിച്ച്), SQL സെർവറിലേക്കുള്ള ഒരു പുതിയ കണക്ഷനും സൃഷ്‌ടിക്കുകയും ട്രേസ് പ്രോപ്പർട്ടീസ് ഡയലോഗ് ബോക്‌സ് തുറക്കുകയും ചെയ്യുന്നു (ചിത്രം 49.4). ഈ വിൻഡോയുടെ പൊതുവായ ടാബിൽ, ട്രെയ്സ് ക്രമീകരിച്ചിരിക്കുന്നു (പ്രത്യേകിച്ച്, പേര്, ഫയൽ ലൊക്കേഷൻ മുതലായവ), കൂടാതെ ഇവന്റുകൾ തിരഞ്ഞെടുക്കൽ ടാബിൽ, ലോഗിൻ ചെയ്യേണ്ട ഇവന്റുകൾ, ഡാറ്റ, ഫിൽട്ടറുകൾ എന്നിവ നിർവചിച്ചിരിക്കുന്നു. ട്രെയ്‌സിംഗ് പ്രവർത്തിക്കുകയാണെങ്കിൽ, ഈ പാരാമീറ്ററുകൾ കാണാൻ കഴിയും, പക്ഷേ മാറ്റാൻ കഴിയില്ല. ഭാവിയിൽ പുതിയ ട്രെയ്‌സുകൾ സൃഷ്‌ടിക്കുന്നത് എളുപ്പമാക്കുന്നതിന് ഒരു ട്രെയ്‌സ് കോൺഫിഗറേഷൻ ഒരു ടെംപ്ലേറ്റായി സംരക്ഷിക്കാൻ കഴിയും.

അരി. 49.4 ട്രേസ് പ്രോപ്പർട്ടീസ് വിൻഡോയിലെ ഇവന്റുകൾ തിരഞ്ഞെടുക്കൽ ടാബ് പ്രൊഫൈലർ യൂട്ടിലിറ്റി ട്രാക്ക് ചെയ്യുന്ന ഇവന്റുകൾ തിരഞ്ഞെടുക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു

ട്രെയ്സ് തത്സമയം കാണാൻ കഴിയും, എന്നാൽ ഡാറ്റ ഒരേ സമയം ഒരു SQL സെർവർ ഫയലിലേക്കോ ടേബിളിലേക്കോ എഴുതിയേക്കാം. പിന്നീടുള്ള ഖനനത്തിനോ സിസ്റ്റം മോണിറ്റർ കൌണ്ടർ ഡാറ്റയുമായി താരതമ്യപ്പെടുത്തുന്നതിനോ ഡാറ്റാബേസ് എഞ്ചിൻ ട്യൂണിംഗ് അഡ്വൈസർ യൂട്ടിലിറ്റിയിലേക്ക് ഇറക്കുമതി ചെയ്യുന്നതിനോ ഇത് ഉപയോഗപ്രദമാണ്.

ഒരു ഫയലിലേക്ക് വായനകൾ എഴുതുമ്പോൾ, പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിനായി അവ 128 KB ശൃംഖലകളായി സംയോജിപ്പിക്കുന്നു; അതുപോലെ, ഒരു ടേബിളിൽ എഴുതുമ്പോൾ, ഡാറ്റയെ നിരവധി വരികളായി ഗ്രൂപ്പുചെയ്യുന്നു.

പിന്നീടുള്ള വിശകലനത്തിനായി പ്രൊഫൈലർ പിടിച്ചെടുത്ത ഡാറ്റ സംഭരിക്കുന്നതിന്, ഉയർന്ന പ്രകടനമുള്ള ഫയൽ രീതിയും സെർവർ ട്രെയ്‌സിംഗും ഉപയോഗിക്കുക (ഇതിനെക്കുറിച്ച് ഞങ്ങൾ പിന്നീട് സംസാരിക്കും). T-SQL പ്രസ്താവനകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഡാറ്റ വിശകലനം ചെയ്യണമെങ്കിൽ, അതേ സമീപനം ഉപയോഗിക്കുക, എന്നാൽ ട്രെയ്‌സിംഗ് സെഷൻ പൂർത്തിയാക്കിയ ശേഷം, പ്രൊഫൈലർ യൂട്ടിലിറ്റിയിൽ ഫലമായുണ്ടാകുന്ന ഫയൽ തുറന്ന് മെനുവിൽ നിന്ന് File^Save As^Table തിരഞ്ഞെടുക്കുക.

ഇവന്റ് തിരഞ്ഞെടുപ്പ്

പ്രൊഫൈലർ യൂട്ടിലിറ്റി റെക്കോർഡ് ചെയ്യുന്ന ഡാറ്റാബേസ് സെർവർ നടത്തുന്ന പ്രവർത്തനങ്ങളുടെ ലിസ്റ്റ് ഇവന്റ് സെലക്ഷൻ ടാബ് നിർണ്ണയിക്കുന്നു. പെർഫോമൻസ് മോണിറ്ററിന് സമാനമായി, പ്രൊഫൈലറിന് നിരവധി പ്രധാന SQL സെർവർ ഇവന്റുകൾ നിരീക്ഷിക്കാൻ കഴിയും. തിരഞ്ഞെടുക്കൽ സജ്ജീകരണം ലളിതമാക്കാൻ, നിങ്ങൾക്ക് സ്ഥിരസ്ഥിതി ടെംപ്ലേറ്റുകൾ ഉപയോഗിക്കാം.

I SQL ബാച്ച് പൂർത്തിയാക്കിയ ഇവന്റ് T-SQL ബാച്ചുകളുടെ നിർവ്വഹണത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്

SVS മൊത്തത്തിൽ (ടെർമിനേറ്ററുകളാൽ വേർതിരിച്ച പാക്കറ്റുകൾ), വ്യക്തിഗത നിർദ്ദേശങ്ങളല്ല.

| * ഇതിനെ അടിസ്ഥാനമാക്കി, പ്രൊഫൈലർ ഒരു ഇവന്റിനെ കുറിച്ചുള്ള ഡാറ്റ പരിഗണിക്കാതെ തന്നെ രേഖപ്പെടുത്തുന്നു

പാക്കേജിന്റെ ദൈർഘ്യത്തെ ആശ്രയിച്ച് സിമോ. വ്യക്തിഗത നിർദ്ദേശങ്ങൾ നടപ്പിലാക്കുന്നത് രേഖപ്പെടുത്താൻ

DML SQL സ്റ്റേറ്റ്മെന്റ് കംപ്ലീറ്റ് ഇവന്റ് ഉപയോഗിക്കുന്നു.

ഒരു ട്രെയ്സ് പുനർനിർമ്മിക്കാൻ എല്ലാ ഇവന്റുകളും ഉപയോഗിക്കാൻ കഴിയില്ല. ഉദാഹരണത്തിന്, SQL ബാച്ച് ആരംഭ ഇവന്റ് വീണ്ടും പ്ലേ ചെയ്യാൻ കഴിയും, എന്നാൽ SQL ബാച്ച് കംപ്ലീറ്റ് ഇവന്റിന് കഴിയില്ല.

ഇവന്റുകൾ അനുസരിച്ച്, കണ്ടെത്തുന്നതിന് വ്യത്യസ്ത ഡാറ്റ ലഭ്യമാണ്. SPID ഡാറ്റ കോളം ഓപ്ഷണൽ ആണെന്ന് തോന്നുമെങ്കിലും, അത് വഞ്ചനാപരമാണ്; അത് ആവശ്യമാണ്.

ഇവന്റ് ഫിൽട്ടറിംഗ്

നിങ്ങൾക്കായി വളരെയധികം വിവരങ്ങൾ ശേഖരിക്കാൻ പ്രൊഫൈലറിന് കഴിയും, അത് കണ്ണിമവെട്ടുന്ന സമയത്ത് ഒരു ഡിസ്ക് ഡ്രൈവ് എളുപ്പത്തിൽ പൂരിപ്പിക്കാൻ കഴിയും. ഭാഗ്യവശാൽ, പ്രോഗ്രാമിന്റെ ഫിൽട്ടർ (ചിത്രം 49.5) നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള ഡാറ്റയിൽ മാത്രം ഈ ശ്രേണി പരിമിതപ്പെടുത്താൻ നിങ്ങളെ സഹായിക്കും.

അരി. 49.6 SQL സെർവർ പ്രൊഫൈലറിന് പ്രകടന മോണിറ്റർ ഡാറ്റ സംയോജിപ്പിക്കാനും നിരീക്ഷിക്കപ്പെടുന്ന ഇവന്റുകളുമായി സമന്വയിപ്പിക്കാനും കഴിയും

SQL ട്രെയ്സ് ഉപയോഗിക്കുന്നു

SQL പ്രൊഫൈലർ സാധാരണയായി സംവേദനാത്മകമായി ഉപയോഗിക്കുന്നു, ഇടയ്ക്കിടെയുള്ള ഡാറ്റ ശേഖരണത്തിന് ഇത് മതിയാകും. എന്നിരുന്നാലും, ദീർഘനേരം പ്രവർത്തിക്കുന്ന ട്രെയ്‌സുകൾക്ക് ലക്ഷക്കണക്കിന് റെക്കോർഡുകൾ എളുപ്പത്തിൽ ശേഖരിക്കാനാകും, ഇത് ട്രെയ്‌സ് പ്രവർത്തിപ്പിക്കുന്ന വർക്ക്‌സ്റ്റേഷനിൽ വളരെ നിർദ്ദിഷ്ട പ്രശ്‌നങ്ങൾക്ക് കാരണമാകും. സെർവറിൽ നേരിട്ട് ഒരു ട്രെയ്സ് ലോഗ് സൃഷ്ടിക്കുന്നതിലേക്കാണ് പരിഹാരം വരുന്നത്. ഈ ട്രെയ്‌സിംഗ് സെർവറിൽ ഒരു ചെറിയ അധിക ലോഡിന് കാരണമാകും; ഈ സാഹചര്യത്തിൽ, ഫയലുകൾ 128 KB ബ്ലോക്കുകളിൽ എഴുതപ്പെടും.

സെർവർ സൈഡ് ട്രെയ്‌സിംഗ് നടത്തുന്ന വ്യാവസായിക സംവിധാനങ്ങളിൽ, സെർവറിലെ ഒരു ഫയലിലേക്ക് ഡാറ്റ എഴുതുന്നതാണ് വിവരങ്ങൾ ശേഖരിക്കാനുള്ള ഏറ്റവും നല്ല മാർഗം

സെർവറിലെ അധിക ലോഡ് കുറയ്ക്കുമ്പോൾ പ്രകടനത്തെക്കുറിച്ച്.

സെർവറിൽ നടത്തുന്ന ട്രെയ്‌സിംഗ് സിസ്റ്റം സംഭരിച്ചിരിക്കുന്ന ഒരു കൂട്ടം നടപടിക്രമങ്ങൾ ഉപയോഗിച്ച് നിർവചിക്കാനും നടപ്പിലാക്കാനും കഴിയും. നിങ്ങൾക്ക് സ്വയം അല്ലെങ്കിൽ SQL സെർവർ പ്രൊഫൈലർ പ്രോഗ്രാം ഉപയോഗിച്ച് പ്രോഗ്രാം കോഡ് എഴുതാം.

SQL സെർവർ പ്രൊഫൈലറിൽ ട്രെയ്‌സ് കോൺഫിഗർ ചെയ്‌ത് പരീക്ഷിച്ചുകഴിഞ്ഞാൽ, സെർവർ സൈഡ് ട്രെയ്‌സിംഗ് നടത്താൻ കഴിയുന്ന ഒരു T-SQL സ്‌ക്രിപ്റ്റ് സൃഷ്‌ടിക്കാൻ മെനുവിൽ നിന്ന് ഫയൽ^എക്‌സ്‌പോർട്ട്^ട്രേസ് ഡെഫനിഷൻ^ഫോർ SQL സെർവർ 2005 തിരഞ്ഞെടുക്കുക.

I സെർവറിൽ ഏതൊക്കെ ട്രെയ്‌സുകളാണ് പ്രവർത്തിക്കുന്നതെന്ന് കണ്ടെത്താൻ, അന്വേഷിക്കുക

നിയന്ത്രണ സിസ്റ്റങ്ങളുടെ SVS നാമിക് കാഴ്ച. ഈ അന്വേഷണത്തിന്റെ I* ഫലങ്ങൾ നിങ്ങൾ നോക്കുമ്പോൾ, നിങ്ങൾക്ക് കൂടുതൽ ട്രാക്ക്ബാക്ക് കാണാം. ആദ്യത്തെ * നമ്പർ എല്ലായ്പ്പോഴും ഡിഫോൾട്ട് ട്രെയ്‌സ് എന്ന് വിളിക്കപ്പെടുന്നു, അത് SQL സെർവർ ലോഗുകൾക്കായി ഡാറ്റ ശേഖരിക്കുന്നു - ഇത് നിർത്താൻ കഴിയില്ല.

സെർവർ ട്രെയ്‌സിംഗ് നിർത്തുന്നതിന്, sp_trace_setstatus സിസ്റ്റം സംഭരിച്ച നടപടിക്രമം ഉപയോഗിക്കുക. അതിന്റെ ആദ്യ വാദം (ട്രേസിഡ്) ട്രെയ്സ് ഐഡന്റിഫയർ ആണ്, രണ്ടാമത്തേത് പ്രവർത്തനത്തിന്റെ സ്വഭാവം നിർണ്ണയിക്കുന്നു. പ്രവർത്തന പരാമീറ്ററിനുള്ള പൂജ്യത്തിന്റെ മൂല്യം ട്രെയ്‌സ് നിർത്തുന്നതിനും ഒന്നിന്റെ മൂല്യം അത് ആരംഭിക്കുന്നതിനും രണ്ടിന്റെ മൂല്യം അത് അടയ്ക്കുന്നതിനും ഇല്ലാതാക്കുന്നതിനും കാരണമാകുന്നു. ഇനിപ്പറയുന്ന കോഡ് ട്രെയ്സ് നമ്പർ 2 നിർത്തുന്നു.

ഈ പ്രഭാഷണത്തിൽ, "സംഭരിച്ച നടപടിക്രമങ്ങൾ സൃഷ്ടിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുക" എന്നതിൽ ഞങ്ങൾ ആരംഭിച്ച സംഭരിച്ച നടപടിക്രമങ്ങളുടെ പഠനം ഞങ്ങൾ തുടരും. Microsoft SQL സെർവർ ക്വറി അനലൈസറും SQL സെർവർ പ്രൊഫൈലറും ഉപയോഗിച്ച് സംഭരിച്ച നടപടിക്രമങ്ങളും മറ്റ് T-SQL പ്രസ്താവനകളും എങ്ങനെ വിശകലനം ചെയ്യാമെന്ന് നിങ്ങൾ പഠിക്കും. ഈ വിശകലനത്തിൽ നിന്ന്, T-SQL പ്രസ്താവനകൾ എത്രത്തോളം ഫലപ്രദമാണെന്ന് നിങ്ങൾക്ക് നിർണ്ണയിക്കാനാകും. കാര്യക്ഷമമായ ഒരു SQL സെർവർ അന്വേഷണം, പ്രോസസ്സ് ചെയ്ത വരികളുടെ എണ്ണം കുറയ്ക്കുന്നതിനും I/O ഓപ്പറേഷനുകളുടെ എണ്ണം കുറയ്ക്കുന്നതിനും ഉചിതമായ പ്രവർത്തനങ്ങളുടെ ഉചിതമായ ക്രമവും ഉചിതമായ സൂചികകളും ഉപയോഗിക്കുന്നു.

ക്വറി അനലൈസർ ഉപയോഗിച്ച്, ഒരു T-SQL സ്റ്റേറ്റ്‌മെന്റിനായി തിരഞ്ഞെടുത്ത എക്‌സിക്യൂഷൻ പ്ലാൻ നിങ്ങൾക്ക് കാണാൻ കഴിയും അന്വേഷണ ഒപ്റ്റിമൈസർ SQL സെർവർ ക്വറി ഒപ്റ്റിമൈസർഓരോ T-SQL പ്രസ്‌താവനയ്‌ക്കും ഏറ്റവും മികച്ച എക്‌സിക്യൂഷൻ പ്ലാനിനായി തിരയുന്ന ഒരു ആന്തരിക മൊഡ്യൂളാണ്. ക്വറി ഒപ്റ്റിമൈസർഓരോ T-SQL പ്രസ്താവനയും വിശകലനം ചെയ്യുന്നു, സാധ്യമായ നിരവധി എക്സിക്യൂഷൻ പ്ലാനുകൾ നോക്കുന്നു, ആവശ്യമായ വിഭവങ്ങളുടെയും പ്രോസസ്സിംഗ് സമയത്തിന്റെയും അടിസ്ഥാനത്തിൽ ഓരോ പ്ലാനിന്റെയും "ചെലവ്" വിലയിരുത്തുന്നു. ഏറ്റവും കുറഞ്ഞ ചെലവുള്ള പ്ലാൻ തിരഞ്ഞെടുത്തു. ലഭ്യമായ സ്ഥിതിവിവരക്കണക്കുകളുടെ അടിസ്ഥാനത്തിലാണ് ഓരോ പ്ലാനിന്റെയും വില നിശ്ചയിക്കുന്നത്, അവ സിസ്റ്റം ശേഖരിക്കുകയും കാലഹരണപ്പെട്ടതായിരിക്കാം. കാരണം നിങ്ങളുടെ ഡാറ്റാബേസിനെ കുറിച്ചും നിങ്ങളുടെ ഡാറ്റയെ കുറിച്ചും നിങ്ങൾക്ക് കൂടുതൽ അറിയാം അന്വേഷണ ഒപ്റ്റിമൈസർ, അപ്പോൾ നിങ്ങൾക്ക് അന്വേഷണ ഒപ്റ്റിമൈസറിനേക്കാൾ മികച്ച ഒരു പ്ലാൻ സൃഷ്ടിക്കാൻ കഴിഞ്ഞേക്കും. ക്വറി അനലൈസർ നിർമ്മിക്കുന്ന വിവരങ്ങൾ ഉപയോഗിച്ച്, ഒരു പ്രത്യേക പ്രസ്താവനയ്‌ക്കായുള്ള ക്വറി ഒപ്റ്റിമൈസറിന്റെ പ്ലാൻ ഫലപ്രദമാണോ എന്ന് നിങ്ങൾക്ക് നിർണ്ണയിക്കാനാകും, ഇല്ലെങ്കിൽ, അത് പരിഷ്‌ക്കരിച്ച് അല്ലെങ്കിൽ SQL സൂചന ഉപയോഗിച്ച് നിങ്ങൾക്ക് ആ പ്രസ്താവന ഒപ്റ്റിമൈസ് ചെയ്യാൻ ശ്രമിക്കാം. ഈ പ്രഭാഷണത്തിൽ, ക്വറി അനലൈസർ എങ്ങനെ ഉപയോഗിക്കണമെന്ന് പഠിക്കുന്നതിനൊപ്പം ടി-എസ്‌ക്യുഎൽ പ്രസ്താവനകൾ എങ്ങനെ ഒപ്റ്റിമൈസ് ചെയ്യാമെന്ന് നിങ്ങൾ പഠിക്കും.

പ്രൊഫൈലർ ഉപയോഗിച്ച്, നിങ്ങളുടെ SQL സെർവർ സിസ്റ്റത്തിനുള്ളിലെ പ്രവർത്തനങ്ങൾ വിശകലനം ചെയ്യാൻ നിങ്ങൾക്ക് കഴിയും, ഏത് SQL പ്രസ്താവനകളും സംഭരിച്ച നടപടിക്രമങ്ങളും അനാവശ്യമായ സിസ്റ്റം ഉറവിടങ്ങളാണ് ഉപയോഗിക്കുന്നത്. ഈ വിവരങ്ങൾ ഉപയോഗിച്ച്, നിങ്ങളുടെ ട്യൂണിംഗ് ശ്രമങ്ങൾ പ്രാഥമികമായി ഈ പ്രസ്താവനകളിലും സംഭരിച്ച നടപടിക്രമങ്ങളിലും കേന്ദ്രീകരിക്കാൻ കഴിയും. പ്രൊഫൈലർ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് വിവരിക്കുന്നതിനൊപ്പം, പ്രൊഫൈലർ ഉപയോഗിച്ച് ലഭിക്കുന്ന വിവരങ്ങൾ എങ്ങനെ ഏറ്റവും ഫലപ്രദമായി ഉപയോഗിക്കാമെന്നും ഈ പ്രഭാഷണം കാണിക്കുന്നു.

SQL ക്വറി അനലൈസർ ഉപയോഗിക്കുന്നു

ക്വറി അനലൈസർ യൂട്ടിലിറ്റി മൈക്രോസോഫ്റ്റ് SQL സെർവർ 2000 ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു