JPEG.webpmini serverio apžvalga

Anonim

Po to, kai turėjau galimybę išbandyti ir peržiūrėti „JPEG.webpmini Pro“ programinę įrangą, supratau, kokia galinga ši programinė įranga yra ne tik vaizdų eksportavimui ir „Lightroom“ darbo eigos daliai, bet ir daugeliui kitų tikslų, įskaitant vaizdų, kurie jau sėdi ant mūsų, optimizavimą. dideli kaupikliai. Kitas naudojimas, apie kurį iškart pagalvojau, buvo žiniatinklio serveris, iš kurio kyla „Photography-Secret.com“ srautas. Atsižvelgiant į tai, kiek srauto „Photography-Secret.com“ kasdien aptarnauja visame pasaulyje, ir į tai, kad vien tik vaizdai užima apytiksliai 5 terabaitus srauto per mėnesį, kilo mintis apie galimybę suspausti JPEG.webp vaizdus naudojant „JPEG.webpmini“ variklį. kad tikrai norėjau įgyvendinti anksčiau nei vėliau. Taigi ėmiausi naujo projekto - taupydamas tiek srautą, tiek pinigus ilgainiui už PL, naudodamasis JPEG.webpmini serveriu.

Fotografai saugokitės: tai labai techninė programinės įrangos apžvalga, nesusijusi su fotografija. Aš nusprendžiau paskelbti apžvalgą PL, nes manau, kad kitos fotografijoms skirtos svetainės gali būti labai naudingos įdiegus JPEG.webpmini serverį.

1) Serverio aplinkos apžvalga

Prieš pradėdamas apžvalgą, norėčiau atkreipti dėmesį į keletą potencialiai svarbių informacijos bitų apie savo žiniatinklio serverio sąranką. Visų pirma, aš paleidžiu „CentOS Linux“ kiekviename serveryje (ir jų yra keli). Du apatiniai žiniatinklio serveriai, tvarkantys PHP skambučius iš apkrovos balanserio, yra tie, kuriuose įdiegiau JPEG.webpmini serverį, nors iš tikrųjų svarbu tik pirmasis, nes būtent jis tvarko visus įkėlimus į svetainę („WordPress“ negali to tiesiogiai valdyti, taigi galima tik stebėti wp-admin iškvietimus ir nukreipti juos į atitinkamą serverį per nginx / apache). Deja, nėra paprasto būdo paleisti daugiau nei vieną „WordPress“ serverį be failų įkėlimo, nes jis nėra skirtas naudoti klasterio aplinkoje (perkelti viską į AWS su EC2 veikiančiais serverio egzemplioriais, RDS, kuriame veikia DB ir S3, tvarkantys failai būtų geras sprendimas, bet po to, kai jį išbandžiau, tai jokiu būdu nebuvo pigus sprendimas, ypač kai pradėsite neršti kelis EC2 serverius, kurie apdorotų galinę apkrovą). Todėl sinchronizavau visus įkėlimus per „rsync“. Tai nėra elegantiškas sprendimas, tačiau jis veikia gana gerai. Aš turiu „rsync“, stebintį „wp-content“ aplanką, todėl visi pakeitimai kartojami vienaip (iš esmės, įkėlus vaizdus į serverį01, juos automatiškai pasiima serveris02). Sinchronizuojama per sekundę ar dvi, bet kai tai atsitiks, vaizdai lengvai bus pateikiami norint įkelti balansavimo užklausas.

Visus žiniatinklio serverio skambučius prižiūri apkrovos balansuotojas, kuris aptarnauja tik https žiniatinklio srautą. Visus vaizdus tvarko išorinis CDN. Pagrindinė „JPEG.webpmini“ diegimo priežastis buvo sumažinti CDN išlaidas, kurios kas mėnesį didėja tik toliau skelbiant daugiau turinio.

Atminkite, kad jūsų žiniatinklio serveryje turi veikti „Linux“ versija - „JPEG.webpmini“ serveris neveikia „Windows“ serveriuose. Čia pateikiamas palaikomų serverių platformų sąrašas.

2) JPEG.webpmini serverio diegimas

„JPEG.webpmini“ serverio diegimas yra labai lengvas, ypač jei naudojate „RHEL“, „CentOS“ ir kitus populiarius „Linux“ paskirstymus. Mano „CentOS“ serveryje „JPEG.webpmini“ pateikė RPM failą, todėl jį buvo lengva įdiegti su viena komanda. Įdiegus dvejetainį failą (pagal nutylėjimą / usr / bin / jpeg.webpmini), kitas žingsnis buvo nukopijuoti .jpeg.webpmini.cfg licencijos failą į vartotojo namų katalogą. Iš ten, paleisdami „jpeg.webpmini“, turėtų būti išvestas maždaug taip:

===============================
Pradėti „jpeg.webpmini“ 3.14.2.84235
===============================
Būtina parinktis -f: -f =
Pagalbai naudokite -help

===============================
Baigti „jpeg.webpmini“ 3.14.2.84235
===============================

Pradinis bandymas prasidėjo nuo „JPEG.webpmini“ serverio versijos 3.13, tačiau po kelių prašymų pakeisti vykdomąjį failą „JPEG.webpmini“ pateikė atnaujintą failą „3.14 RPM“. Pagrindinis 3,14 versijos papildymas yra galimybė praleisti jau optimizuotus failus, o tai man buvo didelis dalykas, nes aš naudoju darbalaukio programinės įrangos versiją ir nenorėjau, kad JPEG.webpmini serveris iš naujo optimizuotų įkeltus JPEG.webp vaizdus.

3) „WordPress“ vaizdo failų tvarkymas

Kai vaizdas bus įkeltas į „WordPress“, administratoriaus scenarijai tiems vaizdams apdoroti naudos GD arba „ImageMagick“. Pagal numatytuosius nustatymus „WordPress“ sukuria trijų dydžių vaizdus, ​​be įkelto vaizdo (miniatiūros, vidutinio dydžio ir didelio dydžio), tačiau atsižvelgiant į tai, kiek „add_image_size“ skambučių gali pridėti tema ir papildiniai, jų gali būti dar daugiau! Dėl to, įkėlus vieną vaizdą, serveryje gali atsirasti daugybė failų, o tai leis „Uploads“ aplankui labai greitai augti. Šiuos mažesnius vaizdus kuria arba GD, arba „ImageMagick“, todėl pagal numatytuosius nustatymus iš failų bus atimami ICC spalvų profiliai ir EXIF ​​duomenys, o tai nėra pageidautina fotografijos svetainėje. Jie taip pat nebus tinkamai optimizuoti pagal dydį, nes nei „GD“, nei „ImageMagick“ neturi tokio protingo algoritmo kaip JPEG.webpmini, kad galėtų tinkamai suspausti JPEG.webp vaizdus. Tiesą sakant, „WordPress“ atlieka gana siaubingą darbą, keisdamas vaizdų dydį, todėl dažnai būna blogai nuspalvinti (dėl ICC profilių pašalinimo), minkšti ir purvini vaizdai (dėl didelio suspaudimo). Norėdami išvengti šios problemos PL, naudoju tik „ImageMagick“, kad optimizuočiau vaizdus, ​​turėdamas specialias parinktis. Mes pašaliname tik EXIF ​​duomenis iš miniatiūrų ir šiek tiek agresyviau juos suglaudiname, kad galėtumėte greitai naršyti. Patekus į įrašą, nei ICC profiliai, nei EXIF ​​duomenys nėra pašalinami iš didesnių vaizdų, kad jie atrodytų kuo geriau. Tokiu būdu neverčiame savo skaitytojų spustelėti paveikslėlio, kad pamatytumėte „tinkamą versiją“ - vaizdai atrodo nuosekliai nuo peržiūros iki vietinių įkeltų dydžių.

Todėl norint pasinaudoti visais JPEG.webpmini serverio privalumais, geriausia paleisti vykdomąjį failą kiekvienam dydžio keitimo procesui - ne tik vienai įkeltai versijai, nes norite, kad variklis optimizuotų kiekvieną failą, nesvarbu, ar jis yra miniatiūra, vidutinė arba didelė originalo versija. Tai iš esmės reiškia, kad JPEG.webpmini turėtų perimti kiekvieną skambutį į image_resize dydį.

4) JPEG.webpmini Server ir WordPress integracija

Deja, „JPEG.webpmini“ nepateikia papildinio, kuris automatiškai integruojasi į „WordPress“, kad galėčiau tai padaryti, todėl turėjau pats sugalvoti sprendimą. Aš pradėjau nuo „ImageMagick Engine“ įskiepio kodų bazės (gana pasenęs papildinys, bet jis vis tiek veikia), tada pridėjau skambučius į „JPEG.webpmini“ vykdomąjį failą naudodamas funkciją „ime_im_cli_resize“ (vietoj PHP modulio paleidžiu „ImageMagick“ komandinės eilutės versiją). Jei ši modifikuota papildinio versija jus domina, praneškite man toliau pateiktame komentarų skyriuje ir aš jums atsiųsiu papildinio failą. Nesu tikras, ar „JPEG.webpmini“ žmonės ketina išleisti „WordPress“ papildinį, bet mielai prisidėčiau prie tam tikro kodo tinkamam tikslui pasiekti.

Kodas veikia ir jis buvo išbandytas naudojant JPEG.webpmini 3.14. Kai tik sukuriama kiekviena pakeista versija, kodas pirmiausia optimizuoja tuos vaizdus, ​​tada jis optimizuoja ir perrašo originalų JPEG.webp vaizdą.

5) JPEG.webpmini serverio testavimo rezultatai

Iki šiol buvo daug techninio mumbo jumbo, todėl leiskime prie mėsos. Kiek vietos diske pavyko išgelbėti ir kiek sutaupiau CDN? Norėdamas, kad kiekviename aplanke būtų vykdomas rekursyvus JPEG.webpmini vykdomasis failas, turėjau paprašyti JPEG.webpmini inžinierių scenarijaus, kurį jie labai greitai pateikė. Pateiktas failas buvo „Python“ scenarijus, vadinamas „jpeg.webpmini_recursive.py“, kuriam reikėjo tik dviejų komandų - vienos, kad įvestumėte šaltinio aplanką, ir kitos, kad įvestumėte tikslinį aplanką (aš šiek tiek pakeičiau scenarijų, gavęs naują RPM versiją, kuri gali automatiškai praleisti jau optimizuoti JPEG.webp vaizdai). Atsarginę viską sukūriau, sukūriau aplanką „uploads_jpeg.webpmini“ ir tai aš naudojau kaip tikslinį aplanką. Vykdžiau scenarijų ir užtruko, kol praėjau kiekvieną failą. Grįžau po kelių valandų ir scenarijus buvo baigtas vykdyti.

Kadangi JPEG.webpmini tik optimizuoja JPEG.webp vaizdus ir jis neliečia PNG, GIF ar kitų failų įkėlimų, pvz., Vaizdo įrašų, turėjau įsitikinti, kad gautą aplanką nukopijau atgal į savo įkeltų aplankų aplanką. Dar kartą įsitikinkite, kad prieš atlikdami šį veiksmą visiškai sukūrėte viską, nes tai negrįžtama. Prieš tai atlikdamas, rekursyviai pakeičiau aplanko „uploads_jpeg.webpmini“ teises vykdydamas „chown -R nobody: nobody / uploads_jpeg.webpmini“. Tada kita komanda buvo „/ bin / cp -Rpf uploads_jpeg.webpmini / * uploads /“, kuri perrašė esamus vaizdo failus su jų JPEG.webpmini optimizuotomis versijomis.

Pažvelkime į prieš ir po. Štai kaip mano aplankai atrodė prieš nukopijuojant visą turinį:

 

du - maks. gylis = 1 | rūšiuoti -k2 1252 ./2006 5272 ./2007 23332 ./2008 154872 ./2009 819580 ./2010 599084 ./2011 2124952 ./2012 2176548 ./2013 4504720 ./2014 6164472 ./2015 3812759 ./2016 559012 ./ 2017 m Bendras dydis: 20 945 855

Maždaug 21 gigabaitas vaizdų. Pažvelkime į tai, kaip atrodė aplankas po to, kai JPEG.webpmini optimizavo visus vaizdus:

 

du - maks. gylis = 1 | rūšiuoti -k2 1000 ./2006 2852 ./2007 15972 ./2008 127708 ./2009 647896 ./2010 461800 ./2011 1099676 ./2012 1252836 ./2013 3049696 ./2014 4378464 ./2015 2858628 ./2016 479416 ./ 2017 m Bendras dydis: 14 375 944

Oho, tai dabar tik 14,4 gigabaitai! Vien tik standžiajame diske man pavyko susigrąžinti daugiau nei 6,5 koncertų vietos, o tai reiškia, kad sutaupoma maždaug 31% vietos. Tai iš esmės yra trečdalis mano CDN sąskaitos, o tai yra didelis skaičius. Atminkite, kad per pastaruosius dvejus metus nebuvo sutaupyta tiek vietos, kiek anksčiau, nes prieš įkeldamas jau pradėjau optimizuoti savo vaizdus darbalaukyje naudodamas „JPEG.webpmini Pro“, todėl matomus skaičius įkėlė kiti nenaudojantys komandos nariai. JPEG.webpmini.

Čia pateikiamas JPEG.webpmini 2012 m. Birželio mėn. Ataskaitos santraukos pavyzdys:

----------------------------------
INFO: aplanko photographylife.com/wp-content/uploads/2012/06 (įskaitant poaplankius) suvestinė ataskaita:
INFO: Bendras failų skaičius: 372
INFO: Bendras įvesties failų dydis: 42900 KB
INFO: Bendras išvesties failų dydis: 28480 KB
INFO: Kompresijos santykis: 1,51X (sutaupoma 34%)
INFO: ----------------------------------

Skirtingi aplankai davė skirtingus skaičius, tačiau vidutiniškai tai buvo tarp 30-35%, o tai yra daug, turint omenyje, kad mūsų komanda yra pakankamai gerai nusiteikusi, kad eksportavimo metu failų dydžiai būtų maži („Photoshop“ eksporto nustatymus paprastai palaikome 10 lygyje) , kuris atitinka „Lightroom“ 77–84% „kokybę“ pagal mūsų JPEG.webp glaudinimo lygius „Photoshop“ ir „Lightroom“ straipsnyje).

5) JPEG.webpmini serverio kokybės ir metaduomenų nustatymai

Svetainėms, kurioms nebūtinai svarbu išsaugoti aukštos kokybės JPEG.webp vaizdus su jų metaduomenimis, JPEG.webpmini iš tikrųjų gali daug agresyviau optimizuoti vaizdus. Nenorėjau, kad JPEG.webp vaizdai atrodytų prasčiau nei iš pradžių įkelti, todėl išlaikiau numatytąjį nustatymą „qual = 0“, kuris išsaugo geriausią kokybę. Kitos svetainės gali pasirinkti veikti aukštos ar vidutinės kokybės, o tai žymiai agresyviau sumažins JPEG.webp failų pėdsakus. Be to, komandą „rmt = 1“ galima visiškai pašalinti ir visus metaduomenis, o jei to nepakanka, yra net galimybė priversti progresyvią JPEG.webp išvestį ant kiekvieno vaizdo. Esu įsitikinęs, kad socialinės žiniasklaidos svetainės, tokios kaip „Facebook“, daug naudoja tokius įrankius, nes vaizdai ir vaizdo įrašai yra didžiulė jų prieglobos sąskaitų dalis. Norėdami pamatyti komandų, esančių su JPEG.webpmini serveriu, sąrašą, apsilankykite šiame puslapyje.

6) Išvada

Nors „JPEG.webpmini Server“ produktas tikrai nėra skirtas fotografams, programinė įranga yra labai universalus įrankis tiems, kurie turi dideles svetaines, kuriose yra daug vaizdų ir srauto. Kaip matyti iš mano įgyvendinimo projekto, „JPEG.webpmini Server“ sugebėjo sutaupyti daugiau nei 6,5 gigabaitų vietos, taigi maždaug 31% vietos ir CDN sutaupyti, o tai yra daug bet kokio dydžio verslui. Už 199 USD per mėnesį pradinę kainą „JPEG.webpmini Server“ nėra pigi smulkiajam verslui, tačiau augančiai įmonei, turinčiai didelį prieglobos pėdsaką, kai vieno serverio egzempliorius gali kainuoti daugiau nei kiekvieną mėnesį, produktas gali būti vertas rimtos išvaizdos . Jei esate prieglobos įmonės dalis, jei turite svetainę, kurioje yra daugybė vaizdų, pvz., PL, arba jūsų CDN išlaidos tampa nepaprastos, galbūt norėsite susisiekti su „JPEG.webpmini“ žmonėmis ir pasikalbėti su jais apie tai, kaip jie gali padėti tau. Pirmiausia galite išbandyti šį puslapį, kur galite įvesti savo svetainę ir sužinoti, kiek galite tikėtis sutaupyti CDN sąnaudose.

Jei turite klausimų apie bet kurį iš aukščiau išvardytų klausimų, nedvejodami pateikite man komentarą žemiau.

JPEG.webpmini serveris
  • funkcijos- 100% / 100
  • Vertė- 100% / 100
  • Lengva naudoti- 80% / 100
  • Greitis ir našumas- 100% / 100
  • Stabilumas- 100% / 100
  • Parama- 100% / 100

Photography-Secret.com Bendras įvertinimas

4.8- 96% / 100