{"id":53906,"date":"2019-12-13T00:00:00","date_gmt":"2019-12-12T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie"},"modified":"2020-02-18T14:01:51","modified_gmt":"2020-02-18T11:01:51","slug":"skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","title":{"rendered":"Compressione veloce e resiliente (Continua)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Questo articolo \u00e8 il secondo su un tema riguardante la compressione rapida dei dati. Nel primo articolo \u00e8 stato descritto un compressore che funziona a 10 GB\/s per core di CPU (compressione minima, RTT-Min). <\/p>\n<p>Questo compressore \u00e8 gi\u00e0 stato integrato nell'attrezzatura degli duplicatori forensi per la compressione rapida dei dump dei supporti informatici e per migliorare la robustezza della crittografia; pu\u00f2 anche essere utilizzato per comprimere le immagini delle macchine virtuali e i file di swap della memoria mentre sono salvati su SSD ad alte prestazioni.<\/p>\n<p>Nel primo articolo \u00e8 stata anche annunciata lo sviluppo di un algoritmo di compressione per comprimere i backup di dischi rigidi e SSD (compressione media, RTT-Mid) con parametri di compressione dei dati notevolmente migliorati. Attualmente, questo compressore \u00e8 completamente pronto e questo articolo \u00e8 dedicato proprio a lui. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIl compressore che implementa l'algoritmo RTT-Mid offre un tasso di compressione comparabile a quello di archiviatori standard come WinRar e 7-Zip, operanti in modalit\u00e0 rapida. La sua velocit\u00e0 di lavoro \u00e8 almeno un ordine di grandezza superiore. <\/p>\n<p>La velocit\u00e0 di imballaggio\/estrazione dei dati \u00e8 un parametro critico che determina il campo di applicazione delle tecnologie di compressione. \u00c8 difficile immaginare di comprimere un terabyte di dati a una velocit\u00e0 di 10-15 Megabyte al secondo (questa \u00e8 la velocit\u00e0 degli archiviatori in modalit\u00e0 di compressione standard), poich\u00e9 ci\u00f2 richiederebbe quasi venti ore con la CPU completamente carica...<\/p>\n<p>D'altro canto, lo stesso terabyte pu\u00f2 essere copiato a velocit\u00e0 di 2-3 Gigabyte al secondo in circa dieci minuti. <\/p>\n<p>Pertanto, la compressione di grandi volumi di informazioni \u00e8 pertinente se pu\u00f2 essere eseguita a una velocit\u00e0 non inferiore alla velocit\u00e0 reale di input\/output. Per i sistemi moderni, ci\u00f2 equivale ad almeno 100 Megabyte al secondo. <\/p>\n<p>Solo in questo modo le moderne compressori possono raggiungere tali velocit\u00e0, esclusivamente in modalit\u00e0 'fast'. E in questa modalit\u00e0 attuale confronteremo l'algoritmo RTT-Mid con compressori tradizionali.<\/p>\n<h4>Test comparativo del nuovo algoritmo di compressione<\/h4>\n<p>\n Il compressore RTT-Mid ha funzionato come parte di un programma di test. In un'applicazione 'reale', funziona notevolmente pi\u00f9 velocemente, poich\u00e9 sfrutta in modo efficiente la multithreading e utilizza un compilatore 'normale', non C#. <\/p>\n<p>Poich\u00e9 i compressori utilizzati nel test comparativo sono basati su principi diversi e comprimono diversi tipi di dati in modo differente, per ovviare la soggettivit\u00e0 del test \u00e8 stato utilizzato il metodo della 'media della temperatura in ospedale'...<\/p>\n<p>\u00c8 stato creato un file di dump settoriale del disco logico con il sistema operativo Windows 10; questo rappresenta la miscela pi\u00f9 naturale di diverse strutture dati normalmente presenti su ogni computer. La compressione di questo file permetter\u00e0 di confrontare la velocit\u00e0 e il grado di compressione del nuovo algoritmo con i compressori pi\u00f9 avanzati utilizzati nei moderni archiviatori.<\/p>\n<p>Ecco questo file dump:<\/p>\n<p><img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/39fc5bfe9812ac2417d6eb8ef1dde0a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl file dump \u00e8 stato compresso dai compressori RTT-Mid, 7-Zip e WinRar. I compressori WinRar e 7-Zip sono stati impostati sulla massima velocit\u00e0 di lavoro.<\/p>\n<p>Funziona il compressore <b>7-zip<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/1b088a99fb7b04d5b6ccb500ff74c73e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCarica la CPU al 100%, mentre la velocit\u00e0 media di lettura del dump originale \u00e8 di circa 60 Megabyte\/sec.<\/p>\n<p>Funziona il compressore <b>WinRar<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/462024e8304a90a885ef3857fbd119e1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSituazione simile, il caricamento della CPU \u00e8 praticamente al 100%, con una velocit\u00e0 media di lettura del dump di circa 125 Megabyte\/sec.<\/p>\n<p>Come nel caso precedente, la velocit\u00e0 di lavoro dell'archiviatore \u00e8 limitata dalle capacit\u00e0 del processore.<\/p>\n<p>Ora funziona il programma di test del compressore <b>RTT-Mid<\/b>:<\/p>\n<p><img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/f46fabcbb362dcf99a8b55877954c3a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLo screenshot mostra che la CPU \u00e8 caricata al 50% e il resto del tempo rimane inattivo, poich\u00e9 non ci sono dove scaricare i dati compressi. Il disco di scarico dei dati (Disco 0) \u00e8 quasi completamente carico. La velocit\u00e0 di lettura dei dati (Disco 1) tende a oscillare, ma in media supera i 200 Megabyte\/sec.<\/p>\n<p>La velocit\u00e0 di funzionamento del compressore \u00e8 limitata in questo caso dalla capacit\u00e0 di scrittura dei dati compressi sul Disco 0.<\/p>\n<p>Ora, il grado di compressione degli archivi risultanti:<\/p>\n<p><img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/1e0740937909c6a5860ef35d15da9e7f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/6e74c8ceab741943a59eca87f092e25b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/3b2f8bed83ea72917f87a3a9813294fc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 evidente che il compressore RTT-Mid ha ottenuto i risultati migliori in termini di compressione, l'archivio da lui creato \u00e8 di 1,3 Gigabyte pi\u00f9 piccolo dell'archivio WinRar e di 2,1 Gigabyte pi\u00f9 piccolo dell'archivio 7z.<\/p>\n<p>Il tempo impiegato per creare l'archivio:<\/p>\n<ul>\n<li> 7-Zip \u2013 26 minuti e 10 secondi;<\/li>\n<li> WinRar \u2013 17 minuti e 40 secondi;<\/li>\n<li> RTT-Mid \u2013 7 minuti e 30 secondi.<\/li>\n<\/ul>\n<p>\nPertanto, anche un programma di test non ottimizzato, utilizzando l'algoritmo RTT-Mid, \u00e8 riuscito a creare un archivio pi\u00f9 di due volte e mezzo pi\u00f9 velocemente, risultando anche notevolmente pi\u00f9 piccolo rispetto ai concorrenti...<\/p>\n<p>Coloro che non credono agli screenshot possono verificarne l'autenticit\u00e0 autonomamente. Il programma di test \u00e8 disponibile su <noindex><a rel=\"nofollow\" href=\"https:\/\/yadi.sk\/d\/9CkY30b1lRcLYw\">link<\/a><\/noindex>, scaricate e verificate.<\/p>\n<p>Ma solo su processori con supporto AVX-2; senza il supporto di queste istruzioni il compressore non funziona, e non testate l'algoritmo su vecchi processori AMD, poich\u00e9 sono lenti nell'esecuzione dei comandi AVX\u2026<\/p>\n<h4>Metodo di compressione utilizzato<\/h4>\n<p>\nL'algoritmo utilizza un metodo di indicizzazione dei frammenti di testo ripetuti a granularit\u00e0 byte. Questo metodo di compressione \u00e8 conosciuto da tempo, ma non \u00e8 stato utilizzato in precedenza, poich\u00e9 l'operazione di ricerca delle corrispondenze richiedeva molte risorse e richiedeva molto pi\u00f9 tempo rispetto alla costruzione di un dizionario. Pertanto, l'algoritmo RTT-Mid \u00e8 un classico esempio di un ritorno al futuro\u2026<\/p>\n<p>Nel compressore RTT viene utilizzato uno scanner di ricerca delle corrispondenze unico e veloce, che ha reso possibile accelerare il processo di compressione. Lo scanner \u00e8 di produzione propria, il che lo rende costoso, poich\u00e9 \u00e8 interamente fatto a mano (scritto in assembly).<\/p>\n<p>Lo scanner di ricerca delle corrispondenze \u00e8 realizzato secondo uno schema probabilistico a due livelli: inizialmente viene esaminata la presenza di un 'segnale' di corrispondenza, e solo dopo aver rilevato il 'segnale' in quel punto viene avviata la procedura per rilevare la corrispondenza reale. <\/p>\n<p>La finestra di ricerca delle corrispondenze ha una dimensione imprevedibile, che dipende dal grado di entropia nel blocco di dati elaborato. Per i dati completamente casuali (non comprimibili) ha dimensioni in megabyte, mentre per i dati con ripetizioni ha sempre dimensioni superiori a un megabyte.<\/p>\n<p>Tuttavia, molti formati dati moderni non sono comprimibili e 'far girare' su di essi uno scanner ad alta intensit\u00e0 di risorse \u00e8 inutile e dispendioso; pertanto, lo scanner utilizza due modalit\u00e0 operative. Inizialmente vengono cercate sezioni del testo originale con possibili ripetizioni; questa operazione viene eseguita anch'essa con un metodo probabilistico e avviene molto rapidamente (a una velocit\u00e0 di 4-6 Gigabyte\/sec). Successivamente, le sezioni con possibili corrispondenze vengono elaborate dallo scanner principale. <\/p>\n<p>La compressione per indicizzazione non \u00e8 molto efficace, poich\u00e9 \u00e8 necessario sostituire i frammenti ripetuti con gli indici, e l'array degli indici riduce significativamente il coefficiente di compressione. <\/p>\n<p>Per aumentare il grado di compressione, vengono indicizzati non solo le corrispondenze complete delle stringhe byte, ma anche quelle parziali, quando nella stringa ci sono byte corrispondenti e non corrispondenti. A tal fine, il formato dell'indice include un campo di maschera di corrispondenza che indica i byte corrispondenti tra i due blocchi. Per una compressione ancora maggiore, viene utilizzata l'indicizzazione sovrapposta di pi\u00f9 blocchi parzialmente corrispondenti sul blocco attuale. <\/p>\n<p>Tutto ci\u00f2 ha permesso al compressore RTT-Mid di raggiungere un grado di compressione paragonabile a quello dei compressori basati su metodi di dizionario, ma con una velocit\u00e0 di funzionamento significativamente superiore.<\/p>\n<h4>Velocit\u00e0 di funzionamento del nuovo algoritmo di compressione<\/h4>\n<p>\nSe il compressore opera con un utilizzo monopolistico della cache di memoria (richiesta di 4 Megabyte per un thread), la velocit\u00e0 di funzionamento oscilla tra 700 e 2000 Megabyte\/sec. per ciascun core del processore, a seconda del tipo di dati compressi e dipende poco dalla frequenza di lavoro del processore. <\/p>\n<p>Nell'implementazione multithreading del compressore, la scalabilit\u00e0 effettiva \u00e8 determinata dalla dimensione della cache di terzo livello. Ad esempio, con 9 Megabyte di cache, non ha senso avviare pi\u00f9 di due thread di compressione, poich\u00e9 la velocit\u00e0 non aumenter\u00e0. Tuttavia, con una cache di 20 Megabyte, \u00e8 possibile avviare gi\u00e0 cinque thread di compressione.<\/p>\n<p>Un altro parametro significativo che determina la velocit\u00e0 di funzionamento del compressore \u00e8 la latenza della memoria RAM. L'algoritmo utilizza accessi casuali alla RAM, una parte dei quali non rientra nella cache (circa il 10%) e ci\u00f2 lo costringe ad attendere i dati dalla RAM, il che riduce la velocit\u00e0 di funzionamento. <\/p>\n<p>Influisce notevolmente sulla velocit\u00e0 del compressore anche il funzionamento del sistema di input\/output dei dati. Le richieste di RAM dall'input\/output bloccano gli accessi ai dati da parte della CPU, il che riduce anche la velocit\u00e0 di compressione. Questo problema \u00e8 significativo per laptop e desktop, mentre <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1458\">server<\/a> \u00e8 meno rilevante grazie a un pi\u00f9 avanzato blocco di gestione dell'accesso al bus di sistema e alla memoria RAM multicanale.<\/p>\n<p>In tutto il testo dell'articolo si parla di compressione; la decompressione resta al di fuori dell'ambito di questo articolo, poich\u00e9 l\u00ec 'tutto va bene'. La decompressione avviene in modo significativamente pi\u00f9 veloce ed \u00e8 limitata dalla velocit\u00e0 di input\/output. Un singolo core fisico in un singolo thread riesce a garantire velocit\u00e0 di decompressione di 3-4 Gigabyte\/sec.<\/p>\n<p>Ci\u00f2 \u00e8 dovuto all'assenza, durante il processo di decompressione, dell'operazione di ricerca delle corrispondenze, che 'consuma' le principali risorse della CPU e della cache durante la compressione. <\/p>\n<h4>Affidabilit\u00e0 della conservazione dei dati compressi<\/h4>\n<p>\nCome suggerisce il nome dell'intera classe di software che utilizza la compressione dei dati (archiviatore), \u00e8 destinata alla conservazione a lungo termine delle informazioni, non per anni, ma per secoli e millenni\u2026<\/p>\n<p>Nel tempo di archiviazione, i supporti di informazione perdono parte dei dati, ecco un esempio:<\/p>\n<p><img decoding=\"async\" alt=\"Compressione veloce e resiliente (Continua)\" src=\"\/wp-content\/uploads\/2019\/12\/b85564e175204e70ed7c3c3ed0fbf008.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuesto supporto di informazione 'analogico' ha mille anni, alcuni frammenti sono andati perduti, ma nel complesso l'informazione \u00e8 'leggibile'\u2026<\/p>\n<p>Nessuno dei produttori responsabili dei moderni sistemi di archiviazione digitale e dei supporti digitali fornisce garanzie di completa integrit\u00e0 dei dati per pi\u00f9 di 75 anni.<br \/>\nE questo \u00e8 un problema, ma un problema rimandato, da risolvere saranno i nostri discendenti\u2026<\/p>\n<p>I sistemi di archiviazione dei dati digitali possono perdere dati non solo dopo 75 anni; gli errori nei dati possono apparire in qualsiasi momento, anche durante la registrazione. Queste distorsioni vengono cercate di essere minimizzate utilizzando ridondanza e sistemi di correzione degli errori. La ridondanza e i sistemi di correzione possono recuperare informazioni perse, ma non sempre; e se lo fanno, non c'\u00e8 garanzia che l'operazione di recupero sia avvenuta correttamente.<\/p>\n<p>E anche questo \u00e8 un grande problema, ma non rimandato, bens\u00ec attuale.<\/p>\n<p>I moderni compressori usati per l'archiviazione dei dati digitali sono basati su diverse varianti del metodo lessicale, e per tali archivi, la perdita di un frammento di informazione \u00e8 un evento fatale; esiste persino un termine consolidato per tale situazione: 'archivio danneggiato'\u2026<\/p>\n<p>La bassa affidabilit\u00e0 nella conservazione delle informazioni negli archivi con compressione lessicale \u00e8 legata alla struttura dei dati compressi. Le informazioni in un tale archivio non contengono il testo originale; ci sono numeri di registrazione nel lessico, e il lessico viene modificato dinamicamente dal testo attuale in fase di compressione. In caso di perdita o distorsione di un frammento dell'archivio, tutte le registrazioni successive dell'archivio non possono essere identificate n\u00e9 per contenuto n\u00e9 per lunghezza della registrazione nel lessico, poich\u00e9 non \u00e8 chiaro a cosa corrisponda il numero della registrazione lessicale.<\/p>\n<p>Recuperare informazioni da un tale 'archivio danneggiato' \u00e8 impossibile.<\/p>\n<p>L'algoritmo RTT si basa su un metodo di archiviazione dei dati compressi pi\u00f9 affidabile. Utilizza un metodo indicizzato per tenere traccia di frammenti ripetuti. Questo approccio alla compressione permette di minimizzare le conseguenze delle distorsioni delle informazioni su un supporto, e in molti casi corregge automaticamente le distorsioni avvenute durante la conservazione delle informazioni.<br \/>\nQuesto \u00e8 dovuto al fatto che il file di archivio nel caso della compressione indicizzata contiene due campi:<\/p>\n<ul>\n<li>campo del testo originale con le porzioni di ripetizione rimosse;<\/li>\n<li>campo degli indici. <\/li>\n<\/ul>\n<p>\nIl campo degli indici, critico per il recupero delle informazioni, non \u00e8 grande e pu\u00f2 essere duplicato per garantire l'affidabilit\u00e0 della conservazione dei dati. Pertanto, anche se un frammento del testo originale o dell'array degli indici viene perso, tutte le altre informazioni possono essere recuperate senza problemi, proprio come nell'immagine con il supporto di informazione 'analogico'.<\/p>\n<h4>Svantaggi dell'algoritmo<\/h4>\n<p>\nNon ci sono vantaggi senza svantaggi. Il metodo di compressione indicizzato non comprime le sequenze ripetute di piccole dimensioni. Ci\u00f2 \u00e8 dovuto ai limiti del metodo indicizzato. Gli indici hanno una dimensione di almeno 3 byte e possono arrivare fino a 12 byte. Se si verifica una ripetizione di dimensione inferiore a quella descritta dal suo indice, non viene presa in considerazione, indipendentemente da quanto spesso tali ripetizioni vengano riscontrate nel file compresso.<\/p>\n<p>Il tradizionale metodo lessicale di compressione comprime efficacemente le molteplici ripetizioni di piccole dimensioni e perci\u00f2 ottiene un rapporto di compressione maggiore rispetto alla compressione indicizzata. Tuttavia, questo \u00e8 raggiunto a scapito di un elevato carico sulla CPU centrale; affinch\u00e9 il metodo lessicale inizi a comprimere i dati in modo pi\u00f9 efficiente rispetto al metodo indicizzato, deve ridurre la velocit\u00e0 di elaborazione dei dati a 10-20 megabyte al secondo su sistemi di calcolo reali con CPU completamente caricata.<\/p>\n<p>Tali basse velocit\u00e0 sono inaccettabili per i moderni sistemi di archiviazione dei dati e rappresentano pi\u00f9 un interesse 'accademico' che pratico.<\/p>\n<p>Il grado di compressione delle informazioni sar\u00e0 sostanzialmente aumentato nella prossima modifica dell'algoritmo RTT (RTT-Max), che \u00e8 gi\u00e0 in fase di sviluppo.<\/p>\n<p>Quindi, come sempre, continuera...<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/479888\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min). \u042d\u0442\u043e\u0442 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440, \u0443\u0436\u0435 \u0432\u043d\u0435\u0434\u0440\u0435\u043d \u0432 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0433\u043e \u0441\u0436\u0430\u0442\u0438\u044f \u0434\u0430\u043c\u043f\u043e\u0432 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u043e\u0439\u043a\u043e\u0441\u0442\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0442\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53906","post","type-post","status-publish","format-standard","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=\"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min).\" \/>\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\/it\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u0430\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430\u044f \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f (\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie\" \/>\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-12-12T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:51+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\udd47Compressione veloce e resistente agli errori (Continua) | ProHoster","description":"Questo articolo \u00e8 il secondo su un tema riguardante la compressione rapida dei dati. Nel primo articolo \u00e8 stato descritto un compressore che funziona a 10 GB\/s per core di CPU (compressione minima, RTT-Min).","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u0430\u044f \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430\u044f \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f (\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435) | ProHoster","og:description":"\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0443\u0436\u0435 \u0432\u0442\u043e\u0440\u0430\u044f \u0432 \u0442\u0435\u043c\u0435 \u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 10\u0413\u0431\u0430\u0439\u0442\/\u0441\u0435\u043a. \u043d\u0430 \u043e\u0434\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u043e\u0435 \u044f\u0434\u0440\u043e (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0436\u0430\u0442\u0438\u0435, RTT-Min).","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/skorostnaya-otkazoustojchivaya-kompressiya-prodolzhenie","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-12-12T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53906","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-02-09 18:05:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:15:55","updated":"2026-02-09 18:05:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/53906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=53906"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/53906\/revisions"}],"predecessor-version":[{"id":158702,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/53906\/revisions\/158702"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=53906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=53906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=53906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}