AWR: рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рддрдирд╛ "рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ" рд╣реИ?

рдЗрд╕ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдореИрдВ Oracle Exadata рдкрд░ рдЪрд▓ рд░рд╣реЗ AWR рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдЧрд▓рддрдлрд╣рдореА рдХреЛ рджреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд▓рдЧрднрдЧ 10 рд╡рд░реНрд╖реЛрдВ рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрд╛рддрд╛рд░ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ: рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдПрдХреНрд╕рд╛рдбреЗрдЯрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдХреНрдпрд╛ рдпреЛрдЧрджрд╛рди рд╣реИ? рдпрд╛ рдирдП рдЧрдврд╝реЗ рдЧрдП рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП: рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдХрд╛рд░реНрдп рдХрд┐рддрдирд╛ "рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ" рд╣реИ?

AWR: рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рддрдирд╛ "рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ" рд╣реИ?

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЕрдХреНрд╕рд░ рдЗрд╕ рд╕рд╣реА рдкреНрд░рд╢реНрди рдХрд╛ AWR рдЖрдБрдХрдбрд╝реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЧрд▓рдд рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддреАрдХреНрд╖рд╛ рд╡рд┐рдзрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ (рдбреАрдмреА рд╕реАрдкреАрдпреВ) рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рдордп рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рдХреЗ рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реИред

рдПрдХреНрд╕рд╛рдбреЗрдЯрд╛ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдПрдХреНрд╕рд╛рдбреЗрдЯрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдЕрдкреЗрдХреНрд╖рд╛рдПрдБ AWR рдЖрдБрдХрдбрд╝реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреАрдВред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдРрд╕реЗ рд╡реЗрдЯ рдХреЗ рдирд╛рдо "рд╕реЗрд▓" рд╢рдмреНрдж рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ (рдПрдХреНрд╕рдбрд╛рдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реЗрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЖрдо рд╕реНрд╡-рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рдирд╛рдо "рд╕реЗрд▓ рд╕реНрдорд╛рд░реНрдЯ рдЯреЗрдмрд▓ рд╕реНрдХреИрди", "рд╕реЗрд▓ рдорд▓реНрдЯреАрдмреНрд▓реЙрдХ" рдХреЗ рд╕рд╛рде рд╡реЗрдЯ рд╣реИрдВ рдлрд┐рдЬрд┐рдХрд▓ рд░реАрдб" рдФрд░ "рд╕реЗрд▓ рд╕рд┐рдВрдЧрд▓ рдмреНрд▓реЙрдХ рдлрд┐рдЬрд┐рдХрд▓ рд░реАрдб"ред

рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреБрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ рдРрд╕реЗ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХреБрд▓ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рдЕрдиреБрднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рд╢реАрд░реНрд╖ 10 рдЕрдЧреНрд░рднреВрдорд┐ рдШрдЯрдирд╛рдУрдВ рдореЗрдВ рднреА рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдЧреНрд░рднреВрдорд┐ рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдШрдЯрдирд╛рдПрдБ рдЕрдиреБрднрд╛рдЧ)ред рдмрдбрд╝реА рдХрдард┐рдирд╛рдИ рд╕реЗ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рд╕реЗ рджреИрдирд┐рдХ AWR рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓рд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдПрдБ рдЯреЙрдк10 рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдереАрдВ рдФрд░ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд▓рдЧрднрдЧ 5% рдереАрдВ:

рдХрд╛рд░реНрдпрдХреНрд░рдо

рд╡реЗрдЯреНрд╕

рдХреБрд▓ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп (рд╕реЗрдХрдВрдб)

рдФрд╕рдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ

%DB рд╕рдордп

рдХрдХреНрд╖рд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ

рдбреАрдмреА рд╕реАрдкреАрдпреВ

115.2K

70.4

SQL*dblink рд╕реЗ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдиреЗрдЯ рдХрд░реЗрдВ

670,196

5471.5

8.16ms

3.3

рдиреЗрдЯрд╡рд░реНрдХ

рд╕реЗрд▓ рд╕рд┐рдВрдЧрд▓ рдмреНрд▓реЙрдХ рдлрд┐рдЬрд┐рдХрд▓ рд░реАрдб

5,661,452

3827.6

676.07us

2.3

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ I/O

рдПрдПрд╕рдПрдо рдкреБрдирд░реНрд╕рдВрддреБрд▓рди рд╕рд┐рдВрдХ рдХрд░реЗрдВ

4,350,012

3481.3

800.30us

2.1

рдЕрдиреНрдп

рд╕реЗрд▓ рдорд▓реНрдЯреАрдмреНрд▓реЙрдХ рдлрд┐рдЬрд┐рдХрд▓ рд░реАрдб

759,885

2252

2.96ms

1.4

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ I/O

рд╕реАрдзрд╛ рд░рд╛рд╕реНрддрд╛ рдкрдврд╝реЗрдВ

374,368

1811.3

4.84ms

1.1

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ I/O

dblink рд╕реЗ SQL*рдиреЗрдЯ рд╕рдВрджреЗрд╢

7,983

1725

216.08ms

1.1

рдиреЗрдЯрд╡рд░реНрдХ

рд╕реЗрд▓ рд╕реНрдорд╛рд░реНрдЯ рдЯреЗрдмрд▓ рд╕реНрдХреИрди

1,007,520

1260.7

1.25ms

0.8

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ I/O

рд╕реАрдзрд╛ рдкрде рддрд╛рдкрдорд╛рди рдкрдврд╝реЗрдВ

520,211

808.4

1.55ms

0.5

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ I/O

рдкреВрдЫрддрд╛рдЫ: рдЯреАрдПрдо - рд╡рд┐рд╡рд╛рдж

652

795.8

1220.55ms

0.5

рдЖрд╡реЗрджрди

рдРрд╕реЗ AWR рдЖрдБрдХрдбрд╝реЛрдВ рд╕реЗ рдЕрдХреНрд╕рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ:

1. рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рдореИрдЬрд┐рдХ рдХрд╛ рдпреЛрдЧрджрд╛рди рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ - рдпрд╣ 5% рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ "рдПрдХреНрд╕рдбрд╛рдЯрд╛рдЗрдЬрд╝" рд╣реЛрддрд╛ рд╣реИред

2. рдпрджрд┐ рдРрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдПрдХреНрд╕рд╛рдбрд╛рдЯрд╛ рд╕реЗ рдХреНрд▓рд╛рд╕рд┐рдХ "рд╕рд░реНрд╡рд░ + рдПрд░реЗ" рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдЖрдПрдЧрд╛ред рдХреНрдпреЛрдВрдХрд┐ рднрд▓реЗ рд╣реА рдпрд╣ рдРрд░реЗ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо (рдЬреЛ рдЖрдзреБрдирд┐рдХ рдСрд▓ рдлреНрд▓реИрд╢ рдРрд░реЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рд╣реА рд╕рдВрднрд╡ рд╣реИ) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреАрди рдЧреБрдирд╛ рдзреАрдорд╛ рд╣реЛ, рдлрд┐рд░ рднреА 5% рдХреЛ рддреАрди рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдкрд░ рд╣рдореЗрдВ I/O рд╡реЗрдЯреНрд╕ рдХреА рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рдореЗрдВ 15% рдХреА рд╡реГрджреНрдзрд┐ рдорд┐рд▓рддреА рд╣реИред - рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рд╕реЗ рдмрдЪреЗрдЧрд╛!

рдпреЗ рджреЛрдиреЛрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдЧрд╝рд▓рдд рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рд╕рдордЭ рдХреЛ рд╡рд┐рдХреГрдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХреНрд╕рд╛рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рддреЗрдЬрд╝ I/O рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рд░реНрд╡рд░ + рдРрд░реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдкрд░реЗрд╢рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдПрдХреНрд╕рдПрдбрд╛рдкреНрдЯреЗрдб" рд╣реИ, рддреЛ SQL рд▓реЙрдЬрд┐рдХ рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░, рдХрдИ рд╡рд┐рд╢реЗрд╖ рддрдВрддреНрд░реЛрдВ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдбреЗрдХреНрд╕, рд▓реЗрдХрд┐рди рди рдХреЗрд╡рд▓) рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╕реНрд╡рдпрдВ рдвреВрдВрдврддреЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдбреАрдмреА рднреЗрдЬрддреЗ рд╣реИрдВред рд╡реЗ рдЗрд╕реЗ рдХрд╛рдлреА рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреБрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред 

рдПрдХреНрд╕рдбрд╛рдЯрд╛ рдХреЗ рдмрд╛рд╣рд░ рдпрд╣ рд╢реЗрдпрд░ рдХреИрд╕реЗ рдмрджрд▓реЗрдЧрд╛? рдпрд╣ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛? рдкрд░реАрдХреНрд╖рдг рдЗрди рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдЙрддреНрддрд░ рджреЗрдЧрд╛. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕рд╛рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд╣рд░ "рд╕реЗрд▓ рд╕реНрдорд╛рд░реНрдЯ рдЯреЗрдмрд▓ рд╕реНрдХреИрди" рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЗрддрдиреЗ рднрд╛рд░реА рдЯреЗрдмрд▓ рдлреБрд▓ рд╕реНрдХреИрди рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ I/O рд╕рдВрдкреВрд░реНрдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рд▓реЗ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реАрд▓рд┐рдП, AWR рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп, Exadata рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рдХреБрд▓ рдкреНрд░рддрд┐рд╢рдд рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЗрд╕рдХреЗ рдЬрд╛рджреВ рдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдирд╛ тАЛтАЛрдЧрд▓рдд рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ Exadata рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░рджрд░реНрд╢рди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рддрд┐рд╢рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЧрд▓рдд рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдХрд╛рдо рдХрд┐рддрдирд╛ "рд╕рдЯреАрдХ" рд╣реИ, рдЖрдкрдХреЛ "рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╕реНрдЯреИрдЯреНрд╕" рдЕрдиреБрднрд╛рдЧ рдХреЗ AWR рдЖрдБрдХрдбрд╝реЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╕реНрд╡-рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрдБрдХрдбрд╝реЗ рд╣реИрдВ) рдФрд░ рдЙрдирдХреА рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рддреБрд▓рдирд╛ рдХрд░реЗрдВред

рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдПрдХреНрд╕рдбрд╛рдЯрд╛ рдХреЗ рдмрд╛рд╣рд░ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░реЗрдЧрд╛, рд▓рдХреНрд╖реНрдп рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдмреИрдХрдЕрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓реЛрди рдмрдирд╛рдирд╛ рдФрд░ рд▓реЛрдб рдХреЗ рддрд╣рдд рдЗрд╕ рдХреНрд▓реЛрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдПрдХреНрд╕рд╛рдбрд╛рдЯрд╛ рд╕реНрд╡рд╛рдорд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИред

рд▓реЗрдЦрдХ: рдПрд▓реЗрдХреНрд╕реА рд╕реНрдЯреНрд░реБрдЪреЗрдВрдХреЛ, рдЬреЗрдЯ рдЗрдиреНрдлреЛрд╕рд┐рд╕реНрдЯрдореНрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд┐рднрд╛рдЧ рдХреЗ рдкреНрд░рдореБрдЦ

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ