Minden, amit az online számlázásról tudnod kell, friss hírek, információk

Ismerd meg a billingót

Másodpercek harca

2014-04-17 - Frissítések
Másodpercek harca

Néhány nappal ezelőtt néhány drága felhasználónk felhívta a figyelmünket, hogy az elektronikus számla letöltésének az ideje "meghosszabbodott", volt olyan akinek fél percet is kellett várnia mire letöltött a számla. Az nagyon messze van az általunk ideálisnak tekintett "pár másodperc"-től.

Figyelem: Fejfádítóan technikai cikk következik! :)

Mi lehet a gond?

Az egész folyamatot elemezve, a következő történik:

  • A szerver generál egy PDF fájlt a számla adatai alapján - ez nem lehetett lassú, mivel kizárólag az elektronikus számlákat érinti a lassulás, a hagyományos nyomtatott számlákat nem
  • A PDF fájlt átadjuk egy Java processnek, ami egyrészt végig ellenőrizi a PDF fájl struktúráját, hogy megfelelő-e.
  • A PDF fájlból készítünk egy hash, amit aláírunk a tanúsítványainkkal
  • Az aláírást továbbküldjük a TSA-nek (timestamping authority), ők rábiggyesztik a hivatalos időbélyeget, és visszaküldik nekünk
  • Ezt az egészet összegyúrjuk CAdES aláírássá, és újraírjuk a PDF fájlt az aláírással
  • A kész PDF fájlt visszaküldjük a felhasználót kiszolgáló folyamatnak

A teljes folyamatot profiloztuk, és sikerült néhány bottlenecket találnunk benne. Az első, hogy néhány tanúsítványt nem cacheltünk, és mivel a szerverek ahonnan összegyűjtöttük őket nagyon lassan válaszoltak rá, ezzel jelentősen lelassították a mi folyamatunkat.

A mostani verzió

A jelenleg futó verzióban több folyamat részbe tettünk memória cacheeket, valamint a teljes folyamatot tovább gyorsítottuk egy kis optimalizálós fekete mágiával. Már ezzel sikerült 5 másodperc alá szorítanunk a generálás sebességét (ez már így is közel 300% -os sebesség növekedés).

További másodpercek harca

Sajnos az egyik leglassabb rész a használt PDF könyvtár sebességéből adódik. Nincs megfelelően optimalizálva a mentés sebessége, mivel digitális aláíráshoz egy úgynevezett inkrementális mentést kell használni, és a PDF összes részét végig ellenőrizni. Ráadásul mindezt nem tudjuk memóriában csinálni, hanem kénytelen vagyunk lemezen ideiglenes fájlokba a mentést megcsinálni. Attól függetlenül, hogy kizárólag SSD merevlemezeket használunk, sajnos ez még mindig egy lassú folyamat.

Azon kívül, hogy elkezdtünk beletúrni a nyílt forráskódú PDFBox könyvtárba (természetesen ha sikerült megoldást találnunk, azt átadjuk a PDFBoxnak, valószínűleg nem csak nekünk van szükségünk gyorsabb könyvtárra), még további optimalizálsokat csináltunk a rendszerben, így a mostani fejlesztés alatt lévő aláíró szerver már 1-2 másodperc alatt képes egy aláírást létrehozni, de ezt még tovább szeretnénk gyorsítani akár a mágikus másodperces határ alá szorítani.

Mennyiben befolyásol ez engem?

Tulajdonképpen csak annyiban, hogy kicsit többet kell most várni egy elektornikus számlára mint azt szeretnénk. Ettől függetlenül a mostani 4-5 másodperces várakozás (és a következő verzió 1-2 másodperces ideje) szerintünk az elfogadható határon bőven belül van, csak szeretnénk ha tudnátok, hogy mindent megteszünk annak érdekében, hogy ez még sokkal-de-sokkal gyorsabb legyen! Így is a 2 másodperces elkészítés több mint 100% gyorsulás a mostanihoz képest, szóval most már abban a kategóriában mozgunk ahol egy-egy komolyabb fejlesztés is minimális érezhető sebesség növekedést okoz.

Miért ilyen nehéz ez?

Mert a mostani 4 másodperces generálási sebességhez képest a 2 másodperc 100%-os növekedés, és egy-egy jól megírt algoritmus optimalizálása is kb. 10-20% -os növekedést eredményez jobb esetben. Ezért mások nem szoktak foglalkozni ezekkel, mivel az érezhető sebesség nem változik (nagyon kevesen fognak észrevenni különbséget 2.5 másodperc és 2 másodperc között). Ettől függetlenül mi tovább harcolunk minden egyes tizedmásodpercért. :))

Mondtam én, tiszta Forma 1!

Örömteli számlázást kíván,
Számlázó program - Billingo online számlázó - Billy üdvözlettel,
Billy

Billingózz Te is!

Regisztrálj egy ingyenes fiókot és tesztelt a számlázót 30 napig ingyen!

Regisztrálok Billingózz Te is!

Hozzászólások ()

Brutál hatékony webáruházra vágysz? Itt a Billingo integráció a Webshippy-hez!

Brutál hatékony webáruházra vágysz? Itt a Billingo integráció a Webshippy-hez!

Hírek, 2019-08-14

Egyre több a vásárlód? Elárasztanak a megrendelések? Folyton az asztalodhoz láncolnak a számlák és a sürgető l…

Gyerekjáték a KATA-s bevételi nyilvántartás vezetése, ha jól csinálod

Gyerekjáték a KATA-s bevételi nyilvántartás vezetése, ha jól csinálod

Hírek, 2019-08-07

Csak ismerni kell hozzá a legfontosabb szabályokat és a legjobb módszereket. Ezeket pedig ki is gyűjtöttük egy…

Tényleg biztonságosak az online számlázók vagy korai még a felhőtlen bizalom?

Tényleg biztonságosak az online számlázók vagy korai még a felhőtlen bizalom?

Hírek, 2019-08-01

Hogy a felhő alapú megoldások még a legkisebb vállalkozások előtt is kaput nyitnak a soha nem látott rugalmass…

Őrült tempóban nő az egyéni vállalkozók száma - itt a nagy lehetőség Neked is?

Őrült tempóban nő az egyéni vállalkozók száma - itt a nagy lehetőség Neked is?

Hírek, 2019-07-25

Folyamatosan növekvő vállalkozási kedv, újonnan meghódított foglalkozási körök és a mindezek mögött álló egyre…

Nagyot javult a fizetési morál a magyar cégeknél, de érdemes benézni a számok mögé

Nagyot javult a fizetési morál a magyar cégeknél, de érdemes benézni a számok mögé

Hírek, 2019-07-18

Ha az ember sokat dolgozik számokkal, idővel már kevésbé kapja fel a fejét egy statisztika láttán. Azt most se…

Új kor hajnala közeleg! Tényleg sci-fi-be illő változásokat hoz majd a nyílt bankolás?

Új kor hajnala közeleg! Tényleg sci-fi-be illő változásokat hoz majd a nyílt bankolás?

Hírek, 2019-07-11

A nyílt bankolás forradalmi változásokat és komoly pénzügyi előnyöket hozhat az ügyfeleknek. Sokan azonban izg…