ืื™ื ื“ืงืก ื‘ืจื™ืื•ืช ื‘-PostgreSQL ื“ืจืš ืขื™ื ื™ื• ืฉืœ ืžืคืชื— Java

ืฉืœื•ื.

ืฉืžื™ Vanya ื•ืื ื™ ืžืคืชื— Java. ื›ืš ืงื•ืจื” ืฉืื ื™ ืขื•ื‘ื“ ื”ืจื‘ื” ืขื PostgreSQL - ื”ื’ื“ืจืช ืžืกื“ ื”ื ืชื•ื ื™ื, ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ื”ืžื‘ื ื”, ื”ื‘ื™ืฆื•ืขื™ื ื•ืžืฉื—ืง ืงืฆืช DBA ื‘ืกื•ืคื™ ืฉื‘ื•ืข.

ืœืื—ืจื•ื ื” ืกื™ื“ืจืชื™ ืžืกืคืจ ืžืกื“ื™ ื ืชื•ื ื™ื ื‘ืฉื™ืจื•ืชื™ ื”ืžื™ืงืจื• ืฉืœื ื• ื•ื›ืชื‘ืชื™ ืกืคืจื™ื™ืช ื’'ืื•ื•ื” pg-index-health, ืžื” ืฉืžืงืœ ืขืœ ื”ืขื‘ื•ื“ื” ื”ื–ื•, ื—ื•ืกืš ืœื™ ื–ืžืŸ ื•ืขื•ื–ืจ ืœื™ ืœื”ื™ืžื ืข ืžื›ืžื” ื˜ืขื•ื™ื•ืช ื ืคื•ืฆื•ืช ืฉื ืขืฉื• ืขืœ ื™ื“ื™ ืžืคืชื—ื™ื. ืขืœ ื”ืกืคืจื™ื™ื” ื”ื–ื• ื ื“ื‘ืจ ื”ื™ื•ื.

ืื™ื ื“ืงืก ื‘ืจื™ืื•ืช ื‘-PostgreSQL ื“ืจืš ืขื™ื ื™ื• ืฉืœ ืžืคืชื— Java

ื›ืชื‘ ื•ื™ืชื•ืจ

ื”ื’ืจืกื” ื”ืจืืฉื™ืช ืฉืœ PostgreSQL ืื™ืชื” ืื ื™ ืขื•ื‘ื“ ื”ื™ื 10. ื›ืœ ืฉืื™ืœืชื•ืช ื”-SQL ืฉื‘ื”ืŸ ืื ื™ ืžืฉืชืžืฉ ื ื‘ื“ืงื•ืช ื’ื ื‘ื’ืจืกื” 11. ื”ื’ืจืกื” ื”ืžื™ื ื™ืžืœื™ืช ื”ื ืชืžื›ืช ื”ื™ื 9.6.

ืคืจื”ื™ืกื˜ื•ืจื™ื”

ื”ื›ืœ ื”ืชื—ื™ืœ ืœืคื ื™ ื›ืžืขื˜ ืฉื ื” ื‘ืกื™ื˜ื•ืืฆื™ื” ืฉื”ื™ื™ืชื” ืœื™ ืžื•ื–ืจื”: ื”ื™ืฆื™ืจื” ื”ืชื—ืจื•ืชื™ืช ืฉืœ ืžื“ื“ ื™ืฉืจ ื”ืกืชื™ื™ืžื” ื‘ืฉื’ื™ืื”. ื”ืื™ื ื“ืงืก ืขืฆืžื•, ื›ืจื’ื™ืœ, ื ืฉืืจ ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื‘ืžืฆื‘ ืœื ื—ื•ืงื™. ื ื™ืชื•ื— ื™ื•ืžืŸ ื”ืจืื” ืžื—ืกื•ืจ temp_file_limit. ื•ื™ื•ืฆืื™ื ืœื“ืจืš... ื‘ื”ืขืžืงื”, ื’ื™ืœื™ืชื™ ืฆืจื•ืจ ืฉืœื ืฉืœ ื‘ืขื™ื•ืช ื‘ืชืฆื•ืจืช ืžืกื“ ื”ื ืชื•ื ื™ื, ื•ื‘ื”ืคืฉื™ืœ ืฉืจื•ื•ืœื™ื ื”ืชื—ืœืชื™ ืœืชืงืŸ ืื•ืชืŸ ืขื ื ื™ืฆื•ืฅ ื‘ืขื™ื ื™ื™ื.

ื‘ืขื™ื” ืจืืฉื•ื ื” - ืชืฆื•ืจืช ื‘ืจื™ืจืช ืžื—ื“ืœ

ื›ื ืจืื” ืฉื›ื•ืœื ื“ื™ ืขื™ื™ืคื™ื ืžื”ืžื˜ืืคื•ืจื” ืขืœ Postgres, ืฉืืคืฉืจ ืœื”ืคืขื™ืœ ืขืœ ืžื›ื•ื ืช ืงืคื”, ืื‘ืœ... ืชืฆื•ืจืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื‘ืืžืช ืžืขืœื” ืžืกืคืจ ืฉืืœื•ืช. ืœื›ืœ ื”ืคื—ื•ืช ื›ื“ืื™ ืœืฉื™ื ืœื‘ ืชื—ื–ื•ืงื”_ืขื‘ื•ื“ืช_ืžื–ื›ืจ, temp_file_limit, statement_timeout ะธ lock_timeout.

ื‘ืžืงืจื” ืฉืœื ื• ืชื—ื–ื•ืงื”_ืขื‘ื•ื“ืช_ืžื–ื›ืจ ื”ื™ื” ื‘ืจื™ืจืช ื”ืžื—ื“ืœ 64 MB, ื• temp_file_limit ืžืฉื”ื• ื‘ืกื‘ื™ื‘ื•ืช 2 GB - ืคืฉื•ื˜ ืœื ื”ื™ื” ืœื ื• ืžืกืคื™ืง ื–ื™ื›ืจื•ืŸ ื›ื“ื™ ืœื™ืฆื•ืจ ืื™ื ื“ืงืก ืขืœ ืฉื•ืœื—ืŸ ื’ื“ื•ืœ.

ืœื›ืŸ, ื‘ pg-index-health ืืกืคืชื™ ืกื“ืจื” ืžึทืคึฐืชึตื—ึท, ืœื“ืขืชื™, ื”ืคืจืžื˜ืจื™ื ืฉื™ืฉ ืœื”ื’ื“ื™ืจ ืขื‘ื•ืจ ื›ืœ ืžืกื“ ื ืชื•ื ื™ื.

ื‘ืขื™ื” ืฉื ื™ื” - ื›ืคื•ืœ ืื™ื ื“ืงืกื™ื

ืžืกื“ื™ ื”ื ืชื•ื ื™ื ืฉืœื ื• ื—ื™ื™ื ืขืœ ื›ื•ื ื ื™ SSD, ื•ืื ื—ื ื• ืžืฉืชืžืฉื™ื ื‘ื”ื HA-ืชืฆื•ืจื” ืขื ืžืกืคืจ ืžืจื›ื–ื™ ื ืชื•ื ื™ื, ืžืืจื— ืžืืกื˜ืจ ื• n-ืžืกืคืจ ื”ืขืชืงื™ื. ืฉื˜ื— ื“ื™ืกืง ื”ื•ื ืžืฉืื‘ ื‘ืขืœ ืขืจืš ืจื‘ ืขื‘ื•ืจื ื•; ื–ื” ืœื ืคื—ื•ืช ื—ืฉื•ื‘ ืžื‘ื™ืฆื•ืขื™ื ื•ืฆืจื™ื›ืช ืžืขื‘ื“. ืœื›ืŸ ืžืฆื“ ืื—ื“ ืื ื—ื ื• ืฆืจื™ื›ื™ื ืื™ื ื“ืงืกื™ื ืœืงืจื™ืื” ืžื”ื™ืจื” ื•ืžืฆื“ ืฉื ื™ ืœื ืจื•ืฆื™ื ืœืจืื•ืช ืื™ื ื“ืงืกื™ื ืžื™ื•ืชืจื™ื ื‘ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืฉื›ืŸ ื”ื ืื•ื›ืœื™ื ืžืงื•ื ื•ืžืื˜ื™ื ืืช ืขื“ื›ื•ืŸ ื”ื ืชื•ื ื™ื.

ื•ืขื›ืฉื™ื•, ืœืื—ืจ ืฉืฉื™ื—ื–ืจ ื”ื›ืœ ืื™ื ื“ืงืกื™ื ืœื ื—ื•ืงื™ื™ื ื•ืื—ืจื™ ืฉืจืื™ืชื™ ืžืกืคื™ืง ื“ื™ื•ื•ื—ื™ื ืฉืœ ืื•ืœื’ ื‘ืจื˜ื•ื ื•ื‘, ื”ื—ืœื˜ืชื™ ืœืืจื’ืŸ ื˜ื™ื”ื•ืจ "ื’ื“ื•ืœ". ื”ืชื‘ืจืจ ืฉืžืคืชื—ื™ื ืœื ืื•ื”ื‘ื™ื ืœืงืจื•ื ืชื™ืขื•ื“ ืฉืœ ืžืกื“ื™ ื ืชื•ื ื™ื. ื”ื ืœื ืžืื•ื“ ืื•ื”ื‘ื™ื ืืช ื–ื”. ื‘ืฉืœ ื›ืš, ื ื•ืฆืจื•ืช ืฉืชื™ ืฉื’ื™ืื•ืช ืื•ืคื™ื™ื ื™ื•ืช - ืื™ื ื“ืงืก ืฉื ื•ืฆืจ ื‘ืื•ืคืŸ ื™ื“ื ื™ ืขืœ ืžืคืชื— ืจืืฉื™ ื•ืื™ื ื“ืงืก "ื™ื“ื ื™" ื“ื•ืžื” ื‘ืขืžื•ื“ื” ื™ื™ื—ื•ื“ื™ืช. ื”ืขื•ื‘ื“ื” ื”ื™ื ืฉื”ื ืœื ื ื—ื•ืฆื™ื - Postgres ื™ืขืฉื” ื”ื›ืœ ื‘ืขืฆืžื•. ืื™ื ื“ืงืกื™ื ื›ืืœื” ื ื™ืชืŸ ืœืžื—ื•ืง ื‘ื‘ื˜ื—ื”, ื•ืื‘ื—ื•ืŸ ื”ื•ืคื™ืขื• ืœืžื˜ืจื” ื–ื• ื›ืคื•ืœื™ื_ืื™ื ื“ืงืกื™ื.

ื‘ืขื™ื” ืฉืœื™ืฉื™ืช - ืžื“ื“ื™ื ืžืฆื˜ืœื‘ื™ื

ืจื•ื‘ ื”ืžืคืชื—ื™ื ื”ืžืชื—ื™ืœื™ื ื™ื•ืฆืจื™ื ืื™ื ื“ืงืกื™ื ืขืœ ืขืžื•ื“ื” ืื—ืช. ื‘ื”ื“ืจื’ื”, ืœืื—ืจ ืฉื”ืชื ืกื• ื”ื™ื˜ื‘ ื‘ืขืกืง ื”ื–ื”, ืื ืฉื™ื ืžืชื—ื™ืœื™ื ืœื™ื™ืขืœ ืืช ื”ืฉืื™ืœืชื•ืช ืฉืœื”ื ื•ืœื”ื•ืกื™ืฃ ืื™ื ื“ืงืกื™ื ืžื•ืจื›ื‘ื™ื ื™ื•ืชืจ ื”ื›ื•ืœืœื™ื ืžืกืคืจ ืขืžื•ื“ื•ืช. ื›ืš ืžื•ืคื™ืขื™ื ืื™ื ื“ืงืกื™ื ืขืœ ืขืžื•ื“ื•ืช A, A + B, A + B + C ื•ื›ื•ืœื™. ื ื™ืชืŸ ืœื–ืจื•ืง ืืช ืฉื ื™ ื”ืจืืฉื•ื ื™ื ืžื”ืžื“ื“ื™ื ื”ืœืœื• ื‘ื‘ื˜ื—ื”, ืžื›ื™ื•ื•ืŸ ืฉื”ื ืงื™ื“ื•ืžื•ืช ืฉืœ ื”ืฉืœื™ืฉื™. ื–ื” ื’ื ื—ื•ืกืš ื”ืจื‘ื” ืžืงื•ื ื‘ื“ื™ืกืง ื•ื™ืฉ ืœื–ื” ืื‘ื—ื•ืŸ intersected_indexes.

ื‘ืขื™ื” ืจื‘ื™ืขื™ืช - ืžืคืชื—ื•ืช ื–ืจื™ื ืœืœื ืื™ื ื“ืงืกื™ื

Postgres ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืื™ืœื•ืฆื™ ืžืคืชื— ื–ืจ ืžื‘ืœื™ ืœืฆื™ื™ืŸ ืื™ื ื“ืงืก ื’ื™ื‘ื•ื™. ื‘ืžืฆื‘ื™ื ืจื‘ื™ื ื–ื• ืœื ื‘ืขื™ื”, ื•ืื•ืœื™ ืืคื™ืœื• ืœื ื‘ืื” ืœื™ื“ื™ ื‘ื™ื˜ื•ื™... ื‘ื™ื ืชื™ื™ื...

ื–ื” ื”ื™ื” ืื•ืชื• ื“ื‘ืจ ืืฆืœื ื•: ืจืง ืฉื‘ืฉืœื‘ ืžืกื•ื™ื ื‘ื–ืžืŸ ืขื‘ื•ื“ื”, ืฉืคื•ืขืœืช ืœืคื™ ืœื•ื— ื–ืžื ื™ื ื•ืžื ืงื” ืืช ืžืกื“ ื”ื ืชื•ื ื™ื ืžื”ื–ืžื ื•ืช ื”ื‘ื“ื™ืงื”, ื”ืชื—ื™ืœื” "ืœื”ื•ืกื™ืฃ" ืœื ื• ืžืืจื— ื”ืžืืกื˜ืจ. ื”ืžืขื‘ื“ ื•ื”-IO ื”ืœื›ื• ืœืื™ื‘ื•ื“, ื”ื‘ืงืฉื•ืช ื”ืื˜ื• ื•ื”ื’ื™ืขื• ืœื–ืžืŸ ืงืฆื•ื‘, ื”ืฉื™ืจื•ืช ื”ื™ื” ื—ืžืฉ ืžืื•ืช. ื ื™ืชื•ื— ืžื”ื™ืจ pg_stat_activity ื”ืจืื” ืฉืื™ืœืชื•ืช ื›ืžื•:

delete from <table> where id in (โ€ฆ)

ื‘ืžืงืจื” ื”ื–ื”, ื›ืžื•ื‘ืŸ, ื”ื™ื” ืื™ื ื“ืงืก ืœืคื™ id ื‘ื˜ื‘ืœืช ื”ื™ืขื“, ื•ืžืขื˜ ืžืื•ื“ ืจืฉื•ืžื•ืช ื ืžื—ืงื• ื‘ื”ืชืื ืœืชื ืื™. ื–ื” ื ืจืื” ื›ืื™ืœื• ื”ื›ืœ ืฆืจื™ืš ืœืขื‘ื•ื“, ืื‘ืœ, ืื‘ื•ื™, ื–ื” ืœื ืขื‘ื“.

ื”ื ืคืœื ื ื—ืœืฅ ืœืขื–ืจื” ืœื”ืกื‘ื™ืจ ืœื ืชื— ื•ืืžืจ ืฉื‘ื ื•ืกืฃ ืœืžื—ื™ืงืช ืจืฉื•ืžื•ืช ื‘ื˜ื‘ืœืช ื”ื™ืขื“, ื™ืฉ ื’ื ื‘ื“ื™ืงืช ืชืงื™ื ื•ืช ืจืคืจื ืฆื™ืืœื™ืช, ื•ื‘ืื—ืช ื”ื˜ื‘ืœืื•ืช ื”ืงืฉื•ืจื•ืช ื‘ื“ื™ืงื” ื–ื• ื ื›ืฉืœืช ืกืจื™ืงื” ืจืฆื™ืคื” ื‘ืฉืœ ื”ื™ืขื“ืจ ืžื“ื“ ืžืชืื™ื. ื›ืš ื ื•ืœื“ื” ื”ืื‘ื—ื•ืŸ ืžืคืชื—ื•ืช_ื–ืจื™ื_ืœืœื_ืื™ื ื“ืงืก.

ื‘ืขื™ื” ื—ืžื™ืฉื™ืช - ืขืจืš ืจื™ืง ื‘ืื™ื ื“ืงืกื™ื

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, Postgres ื›ื•ืœืœ ืขืจื›ื™ null ื‘ืื™ื ื“ืงืกื™ื ืฉืœ btree, ืืš ื‘ื“ืจืš ื›ืœืœ ืื™ืŸ ื‘ื”ื ืฆื•ืจืš ืฉื. ืœื›ืŸ, ืื ื™ ืžื ืกื” ื‘ื—ืจื™ืฆื•ืช ืœื–ืจื•ืง ืืช ื”ืืคืกื™ื ื”ืืœื” (ืื‘ื—ื•ืŸ indexes_with_null_values), ื™ืฆื™ืจืช ืื™ื ื“ืงืกื™ื ื—ืœืงื™ื™ื ืขืœ ืขืžื•ื“ื•ืช ื ื™ืชื ื•ืช ืœืืคืก ืœืคื™ ืกื•ื’ where <A> is not null. ื‘ื“ืจืš ื–ื• ื”ืฆืœื—ืชื™ ืœื”ืงื˜ื™ืŸ ืืช ื”ื’ื•ื“ืœ ืฉืœ ืื—ื“ ืžื”ืื™ื ื“ืงืกื™ื ืฉืœื ื• ืž-1877 ืžื’ื”-ื‘ื™ื™ื˜ ืœ-16 ืง"ื‘. ื•ื‘ืื—ื“ ื”ืฉื™ืจื•ืชื™ื, ื’ื•ื“ืœ ืžืกื“ ื”ื ืชื•ื ื™ื ื™ืจื“ ื‘ืกืš ื”ื›ืœ ื‘-16% (ื‘-4.3 ื’'ื™ื’ื”-ื‘ื™ื™ื˜ ื‘ืžืกืคืจื™ื ืžื•ื—ืœื˜ื™ื) ืขืงื‘ ืื™ ื”ื›ืœืœืช ืขืจื›ื™ ืืคืก ืžื”ืื™ื ื“ืงืกื™ื. ื—ื™ืกื›ื•ืŸ ืขืฆื•ื ื‘ืฉื˜ื— ื“ื™ืกืง ืขื ืฉื™ื ื•ื™ื™ื ืคืฉื•ื˜ื™ื ืžืื•ื“. ๐Ÿ™‚

ื‘ืขื™ื” ืฉืฉ - ื—ื•ืกืจ ื‘ืžืคืชื—ื•ืช ืจืืฉื™ื™ื

ื‘ืฉืœ ืื•ืคื™ ื”ืžื ื’ื ื•ืŸ MVCC ื‘ืคื•ืกื˜ื’ืจืก ืžืฆื‘ ื›ื–ื” ืืคืฉืจื™ ืœึฐื”ึทืชึฐืคึผึดื™ื—ึทื›ืืฉืจ ื’ื•ื“ืœ ื”ืฉื•ืœื—ืŸ ืฉืœืš ื’ื“ืœ ื‘ืžื”ื™ืจื•ืช ืขืงื‘ ืžืกืคืจ ืจื‘ ืฉืœ ืจืฉื•ืžื•ืช ืžืชื•ืช. ื”ืืžื ืชื™ ื‘ืชืžื™ืžื•ืช ืฉื–ื” ืœื ื™ืื™ื™ื ืขืœื™ื ื•, ื•ืฉื–ื” ืœื ื™ืงืจื” ืœื‘ืกื™ืก ืฉืœื ื•, ื›ื™ ืื ื—ื ื•, ื•ื•ืื•!!!, ืžืคืชื—ื™ื ื ื•ืจืžืœื™ื™ื... ื›ืžื” ื˜ื™ืคืฉ ื•ืชืžื™ื ื”ื™ื™ืชื™...

ื™ื•ื ืื—ื“, ื”ื’ื™ืจื” ื ืคืœืื” ืื—ืช ืœืงื—ื” ื•ืขื“ื›ื ื” ืืช ื›ืœ ื”ืจืฉื•ืžื•ืช ื‘ื˜ื‘ืœื” ื’ื“ื•ืœื” ื•ื‘ืฉื™ืžื•ืฉ ืคืขื™ืœ. ืงื™ื‘ืœื ื• +100 ื’'ื™ื’ื”-ื‘ื™ื™ื˜ ืœื’ื•ื“ืœ ื”ืฉื•ืœื—ืŸ ื‘ืื•ืคืŸ ื™ืฉื™ืจ. ื–ื” ื”ื™ื” ื—ื‘ืœ, ืื‘ืœ ื”ืชืงืœื•ืช ืฉืœื ื• ืœื ื”ืกืชื™ื™ืžื• ืฉื. ืœืื—ืจ ืฉื”ืฉื•ืื‘ ื”ืื•ื˜ื•ืžื˜ื™ ื‘ืฉื•ืœื—ืŸ ื”ื–ื” ื”ืกืชื™ื™ื 15 ืฉืขื•ืช ืœืื—ืจ ืžื›ืŸ, ื”ืชื‘ืจืจ ืฉื”ืžื™ืงื•ื ื”ืคื™ื–ื™ ืœื ื™ื—ื–ื•ืจ. ืœื ื™ื›ื•ืœื ื• ืœื”ืคืกื™ืง ืืช ื”ืฉื™ืจื•ืช ื•ืœื”ืคื•ืš ืืช VACUUM FULL, ืื– ื”ื—ืœื˜ื ื• ืœื”ืฉืชืžืฉ pg_repack. ื•ืื– ื”ืชื‘ืจืจ ืฉ pg_repack ืœื ื™ื•ื“ืข ืœืขื‘ื“ ื˜ื‘ืœืื•ืช ืœืœื ืžืคืชื— ืจืืฉื™ ืื• ืื™ืœื•ืฅ ื™ื™ื—ื•ื“ ืื—ืจ, ื•ื‘ื˜ื‘ืœื” ืฉืœื ื• ืœื ื”ื™ื” ืžืคืชื— ืจืืฉื™. ื›ืš ื ื•ืœื“ื” ื”ืื‘ื—ื•ืŸ tables_without_primary_key.

ื‘ื’ืจืกืช ื”ืกืคืจื™ื™ื” 0.1.5 ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœืืกื•ืฃ ื ืชื•ื ื™ื ืžื ืคื™ื—ื•ืช ืฉืœ ื˜ื‘ืœืื•ืช ื•ืื™ื ื“ืงืกื™ื ื•ืœื”ื’ื™ื‘ ืืœื™ื”ื ื‘ื–ืžืŸ.

ื‘ืขื™ื•ืช ืฉื‘ืข ื•ืฉืžื•ื ื” - ืื™ื ื“ืงืกื™ื ืžืกืคื™ืงื™ื ื•ืื™ื ื“ืงืกื™ื ืฉืื™ื ื ื‘ืฉื™ืžื•ืฉ

ืฉื ื™ ื”ืื‘ื—ื•ื ื™ื ื”ื‘ืื™ื ื”ื: ื˜ื‘ืœืื•ืช_ืขื_ืื™ื ื“ืงืกื™ื_ื—ืกืจื™ื ะธ unused_indexes โ€“ ื”ื•ืคื™ืขื• ื‘ืฆื•ืจืชื ื”ืกื•ืคื™ืช ื™ื—ืกื™ืช ืœืื—ืจื•ื ื”. ื”ื ืงื•ื“ื” ื”ื™ื ืฉืื™ ืืคืฉืจ ื”ื™ื” ืคืฉื•ื˜ ืœืงื—ืช ื•ืœื”ื•ืกื™ืฃ ืื•ืชื.

ื›ืคื™ ืฉื›ื‘ืจ ื›ืชื‘ืชื™, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืชืฆื•ืจื” ืขื ืžืกืคืจ ื”ืขืชืงื™ื, ื•ืขื•ืžืก ื”ืงืจื™ืื” ื‘ืžืืจื—ื™ื ืฉื•ื ื™ื ืฉื•ื ื” ืžื”ื•ืชื™ืช. ื›ืชื•ืฆืื” ืžื›ืš, ื”ืžืฆื‘ ืžืชื‘ืจืจ ืฉื—ืœืง ืžื”ื˜ื‘ืœืื•ืช ื•ื”ืื™ื ื“ืงืกื™ื ื‘ื—ืœืง ืžื”ืžืืจื—ื™ื ืื™ื ื ื‘ืฉื™ืžื•ืฉ, ื•ืœืฆื•ืจืš ื ื™ืชื•ื— ืืชื” ืฆืจื™ืš ืœืืกื•ืฃ ื ืชื•ื ื™ื ืกื˜ื˜ื™ืกื˜ื™ื™ื ืžื›ืœ ื”ืžืืจื—ื™ื ื‘ืืฉื›ื•ืœ. ืืชื—ืœ ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ื–ื” ื ื—ื•ืฅ ื’ื ื‘ื›ืœ ืžืืจื— ื‘ืืฉื›ื•ืœ; ืืชื” ืœื ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ืจืง ื‘ืžืืกื˜ืจ.

ื’ื™ืฉื” ื–ื• ืืคืฉืจื” ืœื ื• ืœื—ืกื•ืš ื›ืžื” ืขืฉืจื•ืช ื’ื™ื’ื”-ื‘ื™ื™ื˜ ืขืœ ื™ื“ื™ ื”ืกืจืช ืื™ื ื“ืงืกื™ื ืฉืžืขื•ืœื ืœื ื”ื™ื• ื‘ืฉื™ืžื•ืฉ, ื›ืžื• ื’ื ื”ื•ืกืคืช ืื™ื ื“ืงืกื™ื ื—ืกืจื™ื ืœื˜ื‘ืœืื•ืช ื‘ืฉื™ืžื•ืฉ ื ื“ื™ืจ.

ื›ืžืกืงื ื”

ื›ืžื•ื‘ืŸ, ืขื‘ื•ืจ ื›ืžืขื˜ ื›ืœ ืื‘ื—ื•ืŸ ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืจืฉื™ืžืช ืื™ ื”ื›ืœืœื”. ื‘ื“ืจืš ื–ื•, ืชื•ื›ืœ ืœื™ื™ืฉื ื‘ืžื”ื™ืจื•ืช ื‘ื“ื™ืงื•ืช ื‘ืืคืœื™ืงืฆื™ื” ืฉืœืš, ืœืžื ื•ืข ืืช ื”ื•ืคืขืช ืฉื’ื™ืื•ืช ื—ื“ืฉื•ืช, ื•ืœืื—ืจ ืžื›ืŸ ืœืชืงืŸ ื‘ื”ื“ืจื’ื” ื™ืฉื ื•ืช.

ื—ืœืง ืžื”ืื‘ื—ื•ื ื™ื ื ื™ืชื ื™ื ืœื‘ื™ืฆื•ืข ื‘ื‘ื“ื™ืงื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืžื™ื“ ืœืื—ืจ ื”ืฉืงืช ื”ืขื‘ืจืช ืžืกื“ื™ ื ืชื•ื ื™ื. ื•ื–ื• ืื•ืœื™ ืื—ืช ื”ืชื›ื•ื ื•ืช ื”ื—ื–ืงื•ืช ื‘ื™ื•ืชืจ ืฉืœ ื”ืกืคืจื™ื™ื” ืฉืœื™. ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื ื™ืชืŸ ืœืžืฆื•ื ื‘ ื”ื“ื’ืžื”.

ื”ื’ื™ื•ื ื™ ืœื‘ืฆืข ื‘ื“ื™ืงื•ืช ืœืื™ื ื“ืงืกื™ื ืฉืื™ื ื ื‘ืฉื™ืžื•ืฉ ืื• ื—ืกืจื™ื, ื›ืžื• ื’ื ืœ-bloat, ืจืง ืขืœ ืžืกื“ ื ืชื•ื ื™ื ืืžื™ืชื™. ื ื™ืชืŸ ืœืจืฉื•ื ืืช ื”ืขืจื›ื™ื ืฉื ืืกืคื• ืงืœื™ืงื”ืื•ืก ืื• ื ืฉืœื— ืœืžืขืจื›ืช ื”ื ื™ื˜ื•ืจ.

ืื ื™ ื‘ืืžืช ืžืงื•ื•ื” ืฉ pg-index-health ื™ื”ื™ื” ืฉื™ืžื•ืฉื™ ื•ืžื‘ื•ืงืฉ. ืชื•ื›ืœ ื’ื ืœืชืจื•ื ืœืคื™ืชื•ื— ื”ืกืคืจื™ื™ื” ืขืœ ื™ื“ื™ ื“ื™ื•ื•ื— ืขืœ ื‘ืขื™ื•ืช ืฉืžืฆืืช ื•ื”ืฆืขืช ืื‘ื—ื•ืŸ ื—ื“ืฉ.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”