{"id":36999,"date":"2019-10-31T22:15:13","date_gmt":"2019-10-31T19:15:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov\/"},"modified":"2019-10-31T22:15:13","modified_gmt":"2019-10-31T19:15:13","slug":"haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","title":{"rendered":"Hakat n\u00eb pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ideja e artikullit lindi spontanisht nga nj\u00eb diskutim n\u00eb komentet e nj\u00eb artikulli. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/462849\/\">\u00abDi\u00e7ka rreth inodes\u00bb<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Hakat n\u00eb pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl\" src=\"\/wp-content\/uploads\/2019\/08\/e488f5985cfb0b3274f57f6baeeedf01.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProblemi \u00ebsht\u00eb se specifika e brendshme e funksionimit t\u00eb sh\u00ebrbimeve tona \u00ebsht\u00eb ruajtja e nj\u00eb numri t\u00eb madh t\u00eb skedar\u00ebve t\u00eb vegj\u00ebl. Aktualisht, ne kemi rreth qindra terabajt t\u00eb till\u00eb t\u00eb dh\u00ebnash. Dhe ne u ndesh\u00ebm me disa pengesa t\u00eb qarta dhe jo shum\u00eb t\u00eb qarta dhe i kaluam ato me sukses.<\/p>\n<p>Prandaj, po ndaj p\u00ebrvoj\u00ebn ton\u00eb, ndoshta do t\u2019i vij\u00eb n\u00eb ndihm\u00eb dikujt.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Problemi i par\u00eb: \u00abNuk ka hap\u00ebsir\u00eb t\u00eb lir\u00eb n\u00eb pajisje\u00bb<\/h2>\n<p>\nSi\u00e7 u p\u00ebrmend n\u00eb artikullin e m\u00ebsip\u00ebrm, problemi \u00ebsht\u00eb se ka blloqe t\u00eb lira n\u00eb sistemin e skedar\u00ebve, por inodes kan\u00eb p\u00ebrfunduar.<\/p>\n<p>T\u00eb kontrolloni numrin e inodes t\u00eb p\u00ebrdorura dhe t\u00eb lira mund t\u00eb b\u00ebhet me komand\u00ebn <code>df -ih<\/code>:<\/p>\n<p><img decoding=\"async\" alt=\"Hakat n\u00eb pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl\" src=\"\/wp-content\/uploads\/2019\/08\/ceb86a22562aa08c8ffbbde2c2618545.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNuk do ta p\u00ebrmbledh artikullin, n\u00ebse do ta shpjegojm\u00eb shkurt, disk ka si blloqe p\u00ebr t\u00eb dh\u00ebnat ashtu edhe blloqe p\u00ebr metainformacionin, t\u00eb njohura si inodes (indeksi i nodit). Numri i tyre p\u00ebrcaktohet gjat\u00eb fillimit t\u00eb sistemit t\u00eb skedar\u00ebve (n\u00eb k\u00ebt\u00eb rast flasim p\u00ebr ext2 dhe pasardh\u00ebsit e saj) dhe m\u00eb pas nuk ndryshon. Balanca e blloqeve t\u00eb t\u00eb dh\u00ebnave dhe inodes llogaritet nga t\u00eb dh\u00ebnat mesatare, n\u00eb rastin ton\u00eb, ku ka shum\u00eb skedar\u00eb t\u00eb vegj\u00ebl, balanca duhet t\u00eb zhvendoset n\u00eb favor t\u00eb numrit t\u00eb inodes - ato duhet t\u00eb jen\u00eb m\u00eb shum\u00eb.<\/p>\n<p>N\u00eb Linux tashm\u00eb jan\u00eb parashikuar variante me balanc\u00eb t\u00eb ndryshme, dhe t\u00eb gjitha k\u00ebto konfigurime t\u00eb paracaktuara ndodhen n\u00eb skedarin <code>\/etc\/mke2fs.conf<\/code>.<br \/>\nPrandaj, gjat\u00eb fillimit t\u00eb sistemit t\u00eb skedar\u00ebve me mke2fs mund t\u00eb specifikoni profilin e duhur.<\/p>\n<p>Ja disa shembuj nga skedari:<\/p>\n<pre><code class=\"json\">    small = {\n        blocksize = 1024\n        inode_size = 128\n        inode_ratio = 4096\n    }\n\n    big = {\n        inode_ratio = 32768\n    }\n\n    largefile = {\n        inode_ratio = 1048576\n        blocksize = -1\n    }\n<\/code><\/pre>\n<p>\n\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0446\u0438\u0435\u0439 &#171;-T&#187; \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 mke2fs. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f.<\/p>\n<p>M\u00eb shum\u00eb detaje jan\u00eb p\u00ebrshkruar n\u00eb manualet p\u00ebr <code>mke2fs.conf<\/code> dhe <code>mke2fs<\/code>.<\/p>\n<p>Nj\u00eb ve\u00e7ori e pap\u00ebrmendur n\u00eb artikullin e m\u00ebsip\u00ebrm \u00ebsht\u00eb se mund t\u00eb vendosni madh\u00ebsin\u00eb e bllokut t\u00eb t\u00eb dh\u00ebnave. Sigurisht, p\u00ebr skedar\u00ebt e m\u00ebdhenj ka kuptim t\u00eb ket\u00eb nj\u00eb madh\u00ebsi m\u00eb t\u00eb madhe blloku, nd\u00ebrsa p\u00ebr skedar\u00ebt e vegj\u00ebl nj\u00eb madh\u00ebsi m\u00eb t\u00eb vog\u00ebl. <\/p>\n<p>Megjithat\u00eb, duhet t'i kushtoni v\u00ebmendje nj\u00eb ve\u00e7orie interesante si arkitektura e procesorit.<br \/>\nNj\u00ebher\u00eb m'u duk se p\u00ebr skedar\u00ebt e m\u00ebdhenj t\u00eb fotografive, kisha nevoj\u00eb p\u00ebr nj\u00eb madh\u00ebsi blloku m\u00eb t\u00eb madhe. Ajo ndodhi n\u00eb kushte sht\u00ebpiake, n\u00eb nj\u00eb ruajt\u00ebs t\u00eb dh\u00ebnash WD me arkitektur\u00eb ARM. Un\u00eb, pa menduar shum\u00eb, vendosa madh\u00ebsin\u00eb e bllokut 8k ose 16k n\u00eb vend t\u00eb standardit 4k, pas matjeve t\u00eb kursimeve. Dhe gjith\u00e7ka ishte mir\u00eb deri n\u00eb momentin kur ruajt\u00ebsi vet\u00eb d\u00ebshtoi, kur disku ishte funksional. Pas vendosjes s\u00eb diskut n\u00eb nj\u00eb kompjuter t\u00eb zakonsh\u00ebm me procesor t\u00eb zakonsh\u00ebm Intel, p\u00ebrballa nj\u00eb surpriz\u00eb: madh\u00ebsi blloku e paparamenduar. U b\u00ebn\u00eb shum\u00eb t\u00eb v\u00ebshtira. T\u00eb dh\u00ebnat ishin aty, gjith\u00e7ka ishte n\u00eb rregull, por nuk mund t\u00eb lexohej. Procesor\u00ebt i386 dhe t\u00eb ngjash\u00ebm nuk din\u00eb t\u00eb punojn\u00eb me madh\u00ebsi bllokesh q\u00eb nuk p\u00ebrputhen me madh\u00ebsin\u00eb e faqes s\u00eb memories, q\u00eb \u00ebsht\u00eb 4k. N\u00eb p\u00ebrgjith\u00ebsi, u desh t\u00eb p\u00ebrdorja utilitar\u00ebt nga hap\u00ebsira e p\u00ebrdoruesit, gjith\u00e7ka ishte ngadal\u00eb dhe e trishtueshme, por t\u00eb dh\u00ebnat u shp\u00ebtuan. P\u00ebr ata q\u00eb jan\u00eb t\u00eb interesuar - k\u00ebrkoni me emrin e utilitarit <code>fuseext2<\/code>. Moral: ose mendoni p\u00ebr t\u00eb gjitha rastet paraprakisht, ose mos u b\u00ebni superheronj dhe p\u00ebrdorni cil\u00ebsimet standarde p\u00ebr sht\u00ebpiak\u00ebt.<\/p>\n<p>UPD. Sipas v\u00ebrejtjes s\u00eb p\u00ebrdoruesit <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/berez\/\" class=\"user_link\">berez<\/a><\/noindex> sqaroj se p\u00ebr i386 madh\u00ebsia e bllokut nuk duhet t\u00eb kaloj\u00eb 4k, por nuk duhet domosdoshm\u00ebrisht t\u00eb jet\u00eb sakt\u00ebsisht 4k, pra jan\u00eb t\u00eb pranuar 1k dhe 2k.<\/p>\n<p>Pra, si e zgjidh\u00ebm ne problemin.<\/p>\n<p>S\u00eb pari, u p\u00ebrball\u00ebm me problemin kur disku shum\u00eb terabajt ishte i mbushur me t\u00eb dh\u00ebna, dhe ne nuk mund t\u00eb rregullonim konfigurimin e sistemit t\u00eb skedar\u00ebve.<\/p>\n<p>S\u00eb dyti, vendimi kishte nevoj\u00eb p\u00ebr nj\u00eb zgjidhje t\u00eb menj\u00ebhershme.<\/p>\n<p>N\u00eb fund, arrit\u00ebm n\u00eb p\u00ebrfundimin se duhej t\u00eb ndryshonim balanc\u00ebn, duke reduktuar numrin e skedar\u00ebve.<br \/>\nP\u00ebr t\u00eb reduktuar numrin e skedar\u00ebve, u vendos t\u00eb mbledhim skedar\u00ebt n\u00eb nj\u00eb arkiv t\u00eb vet\u00ebm. Duke marr\u00eb parasysh specifik\u00ebn ton\u00eb, ne grumbulluam n\u00eb nj\u00eb arkiv t\u00eb vet\u00ebm t\u00eb gjitha skedar\u00ebt p\u00ebr nj\u00eb periudh\u00eb t\u00eb caktuar, dhe realizuam arkivimin me nj\u00eb pun\u00eb cron \u00e7do nat\u00eb.<\/p>\n<p>Zgjedhim arkivin zip. N\u00eb komentet e artikullit t\u00eb m\u00ebparsh\u00ebm ishte propozuar tar, por kjo ka nj\u00eb v\u00ebshtir\u00ebsi: ai nuk ka nj\u00eb p\u00ebrmbajtje, dhe skedar\u00ebt atje jan\u00eb n\u00eb nj\u00eb rend t\u00eb vazhduesh\u00ebm (nuk \u00ebsht\u00eb rast\u00ebsi q\u00eb \u00abtar\u00bb \u00ebsht\u00eb nj\u00eb shkurtim p\u00ebr \u00abTape Archive\u00bb, trash\u00ebgimi e ruajt\u00ebsve t\u00eb band\u00eb), dmth. n\u00ebse duhet t\u00eb lexoni nj\u00eb skedar n\u00eb fund t\u00eb arkivit - duhet t\u00eb lexoni ose t\u00eb gjith\u00eb arkivin, pasi atje nuk ka devijimesh p\u00ebr \u00e7do skedar nga fillimi i arkivit. Prandaj, kjo \u00ebsht\u00eb nj\u00eb operacion i gjat\u00eb. N\u00eb zip gjith\u00e7ka \u00ebsht\u00eb shum\u00eb m\u00eb mir\u00eb: ai ka at\u00eb p\u00ebrmbajtje dhe devijimet e skedar\u00ebve brenda arkivit, dhe koha e aksesit n\u00eb \u00e7do skedar nuk varet nga pozita e tij. Dhe n\u00eb rastin ton\u00eb mund t\u00eb vendosim opsionin e comprimit n\u00eb \u00ab0\u00bb, sepse t\u00eb gjith\u00eb skedar\u00ebt tashm\u00eb ishin kompresuar n\u00eb gzip.<\/p>\n<p>Klient\u00ebt marrin skedar\u00ebt p\u00ebrmes nginx, dhe sipas API t\u00eb vjet\u00ebr, thjesht tregohet emri i skedarit, p\u00ebr shembull k\u00ebshtu:<\/p>\n<pre><code class=\"plaintext\">http:\/\/www.server.com\/hydra\/20170416\/0453\/3bd24ae7-1df4-4d76-9d28-5b7fcb7fd8e5\n<\/code><\/pre>\n<p>\nP\u00ebr t\u00eb shp\u00ebrthyer skedar\u00ebt n\u00eb flukse, gjet\u00ebm dhe lidh\u00ebm modul nginx-unzip-module (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/youzee\/nginx-unzip-module\">https:\/\/github.com\/youzee\/nginx-unzip-module<\/a><\/noindex>) dhe konfiguruam dy upstreams.<\/p>\n<p>Si rezultati, konfigurimi \u00ebsht\u00eb i till\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Hakat n\u00eb pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl\" src=\"\/wp-content\/uploads\/2019\/08\/56f5210669fecfe194ac5907d563aa1d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDy hostet n\u00eb konfigurim duken si m\u00eb posht\u00eb:<\/p>\n<pre><code class=\"json\">server {\n  listen *:8081;\n\n  location \/ {\n    root      \/home\/filestorage;\n  }\n}<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"json\">server {\n  listen *:8082;\n\n  location ~ ^\/hydra\/(d+)\/(.+)$ {\n    root      \/home\/filestorage;\n    file_in_unzip_archivefile \"\/home\/filestorage\/hydra\/$1\/$2.zip\";\n    file_in_unzip_extract \"$2\/$3\";\n    file_in_unzip;\n  }\n}\n<\/code><\/pre>\n<p>\nDhe konfigurimi i upstream-it n\u00eb nginx-in m\u00eb t\u00eb lart\u00eb:<\/p>\n<pre><code class=\"json\">upstream storage {\n  server server.com:8081;\n  server server.com:8082;\n}\n<\/code><\/pre>\n<p>\nSi funksionon:<\/p>\n<ul>\n<li>Klienti shkon te front nginx<\/li>\n<li>Front nginx p\u00ebrpiqet t\u00eb dor\u00ebzoj\u00eb skedarin nga upstream-i i par\u00eb, dmth direkt nga sistemi i skedar\u00ebve<\/li>\n<li>N\u00ebse skedari nuk ekziston \u2014 p\u00ebrpiqet t\u00eb dor\u00ebzoj\u00eb nga upstream-i i dyt\u00eb, i cili p\u00ebrpiqet t\u00eb gjej\u00eb skedarin brenda arkivit<\/li>\n<\/ul>\n<p><\/p>\n<h2>Problemi i dyt\u00eb: p\u00ebrs\u00ebri \"Nuk ka hap\u00ebsir\u00eb t\u00eb majt\u00eb n\u00eb pajisje\"<\/h2>\n<p>\nKy \u00ebsht\u00eb problemi i dyt\u00eb me t\u00eb cilin u p\u00ebrball\u00ebm kur kishte shum\u00eb skedar\u00eb n\u00eb katalog.<br \/>\nP\u00ebrpiqemi t\u00eb krijojm\u00eb nj\u00eb skedar, sistemi ankohet se s'ka vend. Ndryshojm\u00eb emrin e skedarit dhe s\u00ebrish p\u00ebrpiqemi ta krijojm\u00eb.<\/p>\n<p>Dhe ja, funksionon.<\/p>\n<p>Duket p\u00ebraf\u00ebrsisht k\u00ebshtu:<\/p>\n<p><img decoding=\"async\" alt=\"Hakat n\u00eb pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl\" src=\"\/wp-content\/uploads\/2019\/08\/f365358b59bf81d450a236dfb58e4874.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKontrolli i inodes nuk dha asgj\u00eb \u2014 ka shum\u00eb t\u00eb lir\u00eb. <br \/>\nKontrolli i hap\u00ebsir\u00ebs \u2014 e nj\u00ebjta gj\u00eb.<br \/>\nMendojm\u00eb se ndoshta ka shum\u00eb skedar\u00eb n\u00eb katalog, dhe p\u00ebr k\u00ebt\u00eb ka nj\u00eb kufizim, por p\u00ebrs\u00ebri jo: Maksimumi i numrit t\u00eb skedar\u00ebve p\u00ebr katalog: ~1.3 \u00d7 10^20<\/p>\n<p>Dhe gjithashtu, skedari mund t\u00eb krijohet n\u00ebse ndryshojm\u00eb emrin.<br \/>\nP\u00ebrfundimi \u2014 problemi \u00ebsht\u00eb te emri i skedarit.<\/p>\n<p>K\u00ebrkimet e m\u00ebtejshme treguan se problemi ishte te algoritmi i hash-it gjat\u00eb nd\u00ebrtimit t\u00eb indeksit t\u00eb katalogut, kur numri i madh i skedar\u00ebve rezulton n\u00eb kolizione dhe pasojat p\u00ebrkat\u00ebse. M\u00eb shum\u00eb detaje mund t\u00eb lexoni k\u00ebtu: <noindex><a rel=\"nofollow\" href=\"https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout#Hash_Tree_Directories\">https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout#Hash_Tree_Directories<\/a><\/noindex><\/p>\n<p>Mund ta \u00e7aktivizoni k\u00ebt\u00eb opsion, por\u2026 k\u00ebrkimi i skedarit sipas emrit mund t\u00eb b\u00ebhet papritur shum\u00eb i gjat\u00eb kur kaloni t\u00eb gjith\u00eb skedar\u00ebt. <\/p>\n<pre><code class=\"bash\"> tune2fs -O \"^dir_index\" \/dev\/sdb3\n<\/code><\/pre>\n<p>\nN\u00eb p\u00ebrgjith\u00ebsi, si nj\u00eb zgjidhje e p\u00ebrkohshme, mund t\u00eb funksionoj\u00eb.<\/p>\n<p>Morali: shum\u00eb skedar\u00eb n\u00eb katalog \u2013 zakonisht \u00ebsht\u00eb e keqe. K\u00ebshtu nuk duhet t\u00eb b\u00ebhet.<\/p>\n<p>Zakonsht n\u00eb raste t\u00eb tilla krijohen katalog\u00eb t\u00eb brendsh\u00ebm, sipas shkronjave t\u00eb para t\u00eb emrit t\u00eb skedarit ose sipas ndonj\u00eb parametri tjet\u00ebr, p\u00ebr shembull, sipas datave, n\u00eb shumic\u00ebn e rasteve kjo shp\u00ebton.<br \/>\nPor numri i p\u00ebrgjithsh\u00ebm i skedar\u00ebve t\u00eb vegj\u00ebl \u2013 \u00ebsht\u00eb ende e keqe, edhe n\u00ebse i ndajm\u00eb n\u00eb katalog\u00eb \u2014 at\u00ebher\u00eb shihni problemin e par\u00eb.<\/p>\n<h2>Problemi i tret\u00eb: si t\u00eb shikoni list\u00ebn e skedar\u00ebve, n\u00ebse ka shum\u00eb<\/h2>\n<p>\nN\u00eb situat\u00ebn ton\u00eb, kur kemi shum\u00eb skedar\u00eb, n\u00eb nj\u00eb m\u00ebnyr\u00eb ose tjet\u00ebr hasim problemin se si t\u00eb shohim p\u00ebrmbajtjen e katalogut.<\/p>\n<p>Zgjidhja standarde \u2014 komandat <code>ls<\/code>.<br \/>\nOk, le t\u00eb shohim se \u00e7far\u00eb rezultati kemi me 4772098 skedar\u00eb:<\/p>\n<pre><code class=\"bash\">\n$ time ls \/home\/app\/express.repository\/offercache\/ &gt;\/dev\/null\n\nreal\t0m30.203s\nuser\t0m28.327s\nsys\t0m1.876s\n<\/code><\/pre>\n<p>\n30 sekonda\u2026 \u00ebsht\u00eb shum\u00eb. Dhe koha kryesore shkon p\u00ebr p\u00ebrpunimin e skedar\u00ebve n\u00eb hap\u00ebsir\u00ebn e p\u00ebrdoruesit, dhe jo p\u00ebr pun\u00ebn e b\u00ebrtham\u00ebs.<\/p>\n<p>Por ka nj\u00eb zgjidhje:<\/p>\n<pre><code class=\"bash\">\n$ time find \/home\/app\/express.repository\/offercache\/ &gt;\/dev\/null\n\nreal\t0m3.714s\nuser\t0m1.998s\nsys\t0m1.717s\n<\/code><\/pre>\n<p>\n3 sekonda. 10 her\u00eb m\u00eb shpejt.<br \/>\nHurrah!<\/p>\n<p><b>UPD.<\/b><\/p>\n<p>Nj\u00eb zgjidhje edhe m\u00eb e shpejt\u00eb nga p\u00ebrdoruesi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/berez\/\" class=\"user_link\">berez<\/a><\/noindex> \u2014 \u00e7aktivizimi i renditjes n\u00eb <code>ls<\/code><\/p>\n<pre><code class=\"bash\">\ntime ls -U \/home\/app\/express.repository\/offercache\/ &gt;\/dev\/null\nreal\t0m2.985s\nuser\t0m1.377s\nsys\t0m1.608s\n<\/code><\/pre>\n<h2>Problemi i kat\u00ebrt: LA i madh kur punoni me skedar\u00ebt<\/h2>\n<p>\nPeriodikisht ndodhin situata ku duhet t\u00eb kopjosh shum\u00eb skedar\u00eb nga nj\u00eb makin\u00eb n\u00eb nj\u00eb tjet\u00ebr. N\u00eb k\u00ebt\u00eb proces, shpesh rritet ndjesh\u00ebm LA, pasi gjith\u00e7ka varet nga performanca e disk\u00ebve.<\/p>\n<p>M\u00eb e men\u00e7ur do t\u00eb ishte t\u00eb p\u00ebrdorim SSD. N\u00eb t\u00eb v\u00ebrtet\u00eb e mrekullueshme. Pyetja \u00ebsht\u00eb vet\u00ebm p\u00ebr \u00e7mimin e SSD-ve shum\u00eb terabajt.<\/p>\n<p>Por n\u00ebse disk\u00ebt jan\u00eb t\u00eb zakonsh\u00ebm, duhet t\u00eb kopjosh skedar\u00ebt, dhe gjithashtu kjo \u00ebsht\u00eb nj\u00eb sistem prodhimi, ku ngarkesa shkakton pak\u00ebnaq\u00ebsi nga klient\u00ebt? Ka t\u00eb pakt\u00ebn dy mjete t\u00eb dobishme: <code>nice<\/code> dhe <code>ionice<\/code>.<\/p>\n<p><code>nice<\/code> \u2014 ul prioritetin e procesit, duke dh\u00ebn\u00eb k\u00ebshtu m\u00eb shum\u00eb koh\u00eb t\u00eb nevojshme p\u00ebr proceset m\u00eb prioritare.<br \/>\nN\u00eb praktik\u00ebn ton\u00eb ka ndihmuar t\u00eb vendosim nice n\u00eb maksimum (19 \u2013 \u00ebsht\u00eb prioriteti minimal, -20 (minus 20) \u2013 prioriteti maksimal).<\/p>\n<p><code>ionice<\/code> \u2014 p\u00ebrmir\u00ebson prioritetin e input\/output (I\/O scheduling)<\/p>\n<p>N\u00ebse po p\u00ebrdorni RAID dhe ai ka nevoj\u00eb t\u00eb sinkronizohet papritur (pas nj\u00eb rimbushjeje t\u00eb d\u00ebshtuar ose p\u00ebr t\u00eb rikuperuar nj\u00eb grup RAID pas z\u00ebvend\u00ebsimit t\u00eb nj\u00eb disku), at\u00ebher\u00eb n\u00eb disa situata ka kuptim t\u00eb zvog\u00ebloni shpejt\u00ebsin\u00eb e sinkronizimit, n\u00eb m\u00ebnyr\u00eb q\u00eb proceset e tjera t\u00eb mund t\u00eb funksionojn\u00eb m\u00eb l\u00ebvizsh\u00ebm. Nj\u00eb komand\u00eb e till\u00eb do t\u00eb ndihmoj\u00eb:<\/p>\n<pre><code class=\"bash\">\necho 1000 &gt;\/proc\/sys\/dev\/raid\/speed_limit_max\n<\/code><\/pre>\n<p><\/p>\n<h2>Problemi i pest\u00eb: Si t\u00eb sinkronizoni skedar\u00ebt n\u00eb koh\u00eb reale<\/h2>\n<p>\nKemi t\u00eb nj\u00ebjtin num\u00ebr t\u00eb madh skedar\u00ebsh, t\u00eb cil\u00ebt duhet t\u00eb b\u00ebhen backup n\u00eb nj\u00eb server t\u00eb dyt\u00eb p\u00ebr t\u00eb shmangur\u2026 Skedar\u00ebt shkruhen vazhdimisht, k\u00ebshtu q\u00eb, p\u00ebr t\u00eb minimizuar humbjet, duhet t'i kopjoni sa m\u00eb shpejt t\u00eb jet\u00eb e mundur.<\/p>\n<p>Zgjidhja standarde: Rsync mbi SSH.<\/p>\n<p>Ky \u00ebsht\u00eb nj\u00eb opsion i mir\u00eb, p\u00ebrve\u00e7 n\u00ebse kjo nuk duhet b\u00ebr\u00eb \u00e7do disa sekonda. Edhe n\u00ebse nuk i kopjon, duhet gjithsesi t\u00eb kuptosh se \u00e7far\u00eb \u00ebsht\u00eb ndryshuar, dhe t\u00eb krahasosh disa miliona skedar\u00eb \u2014 \u00ebsht\u00eb koh\u00eb dhe ngarkes\u00eb n\u00eb disqe.<\/p>\n<p>Q\u00eb do t\u00eb thot\u00eb, na duhet t\u00eb dim\u00eb menj\u00ebher\u00eb se \u00e7far\u00eb duhet t\u00eb kopjohet, pa filluar t\u00eb krahasojm\u00eb \u00e7do her\u00eb.<\/p>\n<p>Shp\u00ebtimi \u00ebsht\u00eb <code>lsyncd<\/code>. <code>Lsyncd<\/code> \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/axkibe.github.io\/lsyncd\/\">Live Syncing (Mirror) Daemon<\/a><\/noindex>. Ai punon gjithashtu p\u00ebrmes rsync, por p\u00ebrve\u00e7 k\u00ebsaj monitoron sistemin e skedar\u00ebve p\u00ebr ndryshime duke p\u00ebrdorur inotify dhe fsevents dhe fillon kopjimin vet\u00ebm p\u00ebr ata skedar\u00eb q\u00eb kan\u00eb lindur ose ndryshuar.<\/p>\n<h2>Problemi i gjasht\u00eb: si t\u00eb kuptohet kush po ngarkon disqet<\/h2>\n<p>\nMendoj se t\u00eb gjith\u00eb e din\u00eb k\u00ebt\u00eb, por megjithat\u00eb p\u00ebr plot\u00ebsin\u00eb e pictures: p\u00ebr monitorimin e sistemit t\u00eb disk\u00ebve ka nj\u00eb komand\u00eb <code>iotop<\/code> \u2014 t\u00eb ngjashme me <code>top<\/code>, por q\u00eb tregon proceset q\u00eb po p\u00ebrdorin disqet m\u00eb aktivisht.<\/p>\n<p><img decoding=\"async\" alt=\"Hakat n\u00eb pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl\" src=\"\/wp-content\/uploads\/2019\/08\/56612c618469ef340a31ae446d65ed4e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr m\u00eb tep\u00ebr, i vjet\u00ebr dhe i njohur top gjithashtu lejon t\u00eb kuptohet n\u00ebse ka probleme me disqet ose jo. P\u00ebr k\u00ebt\u00eb, ka dy parametra m\u00eb t\u00eb p\u00ebrshtatsh\u00ebm: <b>Load Average<\/b> dhe <b>IOwait<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"Hakat n\u00eb pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl\" src=\"\/wp-content\/uploads\/2019\/08\/01a0565947de65d13b0045f7180caf5d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE para tregon se sa procese q\u00ebndrojn\u00eb n\u00eb radh\u00eb p\u00ebr sh\u00ebrbim, zakonisht m\u00eb shum\u00eb se 2 \u2014 do t\u00eb thot\u00eb q\u00eb di\u00e7ka nuk \u00ebsht\u00eb n\u00eb rregull. Gjat\u00eb kopjimit aktiv n\u00eb server\u00ebt e backup-it, ne lejojm\u00eb deri n\u00eb 6-8, pas k\u00ebsaj situata konsiderohet e jasht\u00ebzakonshme.<\/p>\n<p>E dyta \u2014 sa \u00ebsht\u00eb e z\u00ebn\u00eb procesori me operacionet e disk\u00ebve. IOwait &gt;10% \u2014 arsye p\u00ebr shqet\u00ebsim, megjithat\u00eb n\u00eb server\u00ebt tan\u00eb me profil ngarkese specifik, ndonj\u00ebher\u00eb q\u00ebndron rregullisht n\u00eb 40-50%, dhe kjo \u00ebsht\u00eb v\u00ebrtet normale.<\/p>\n<p>K\u00ebtu do ta ndaloj, megjithat\u00eb sigurisht ka shum\u00eb aspekte q\u00eb nuk na kan\u00eb ndodhur, me k\u00ebnaq\u00ebsi do t\u00eb pres komente dhe p\u00ebrshkrime t\u00eb rasteve interesante.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/srg\/blog\/462967\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27728,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0425\u0430\u043a\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Hakat p\u00ebr pun\u00ebn me nj\u00eb num\u00ebr t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl | ProHoster","description":"Ideja e artikullit erdhi spontanisht nga nj\u00eb diskutim n\u00eb komentet e artikullit \u201cDisa gj\u00ebra mbi inode\u201d. \u00c7\u00ebshtja \u00ebsht\u00eb se specifika e brendshme e pun\u00ebs s\u00eb sh\u00ebrbimeve tona p\u00ebrfshin ruajtjen e nj\u00eb numri t\u00eb madh skedar\u00ebsh t\u00eb vegj\u00ebl. Aktualisht kemi rreth qindra terabajt t\u00eb t\u00eb dh\u00ebnave t\u00eb tilla. Dhe ne u p\u00ebrball\u00ebm me disa problematika evidente dhe jo aq evidente dhe kaluam me sukses p\u00ebrmes tyre. Prandaj po ndaj","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0425\u0430\u043a\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster","og:description":"\u0418\u0434\u0435\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0441\u043f\u043e\u043d\u0442\u0430\u043d\u043d\u043e \u0438\u0437 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u0438 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u0441\u0442\u0430\u0442\u044c\u0435 \u00ab\u041a\u043e\u0435-\u0447\u0442\u043e \u043e\u0431 inode\u00bb. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043e\u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0441\u043e\u0442\u0435\u043d \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 \u0442\u0430\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0418 \u043c\u044b \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0433\u0440\u0430\u0431\u0435\u043b\u044c\u043a\u0438 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0448\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043b\u044e\u0441\u044c","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/haki-pri-rabote-s-bolshim-chislom-melkih-fajlov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:13+00:00","article:modified_time":"2019-10-31T19:15:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36999","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 05:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:35:26","updated":"2026-01-22 05:41:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=36999"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36999\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/27728"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=36999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=36999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=36999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}