HHVM şi Laravel în producţie pe o aplicaţie Multi-Tenant

Am o aplicaţie bazată pe Laravel 5 care în mod curent rulează pe un Zend Community Server, dar tot probleme am avut cu el, şi aş vrea să trec pe HHVM.

Am instalat pe un linode un HHVM + Nginx, l-am configurat şi totul pare să meargă foarte OK. De fapt, toată documentaţia care a trebuit să o fac pentru sistemul de Help, cu screenshot-uri, filmuleţe sau altele, le-am făcut pe varianta HHVM, ca să pot parcurge toată aplicaţia să fiu sigur că funcţionează.

Da, ştiu că ar trebui să am Unit Testing pe toată aplicaţia, dar pur şi simplu nu am avut timp, nu e aplicaţia mea, nu depinde de mine, aşa că decizia e peste mine.

Întrebarea mea ar fi, aveţi careva experienţă cu HHVM + NGINX? Sunt ceva probleme ce pot apărea mai târziu? E vorba de o aplicaţie multi-tenant, acelaşi codebase dar bază de date separat pentru fiecare client.
Deja am peste 200 de tenants, şi merge OK chiar şi pe Linode-ul curent, dar tot nu mă simt eu bine că ştiu că mă paşte mii de tenants probabil.

Evident, dacă mai aveţi alte idei vizavi de SaaS Multitenancy sunt foarte interesat să aud din experienţele altora, poate facem un topic folositor la mai mulţi.

1 Like

Eu as trece la PHP 7 in loc de HHVM, performanta e comparabila.

2 Likes

Din ce am văzut ca performanţă, în realitate testele acelea nu sunt făcute egal la egal, se pare că tot HHVM ar fi mult mai rapid. Până la urmă, compilarea e compilare, nu se compară cu interpretare, oricâtă optimizare cred că s-ar face…

1 Like

Ce înțelegi tu prin compilate? Ambele sunt compilate.

Și chiar ai algoritmi complicați așa rău? Performanța aplicațiilor web este de obicei db-bound, network-bound, disk-bound, nu cpu-bound.

Și dacă ai algoritmi complicați, ei sunt cei care aduc plus valoare, caz în care i-aș izola într-un microservice ceva.

De exemplu îi poți pune în workers în gearman și îi poți scrie în C/C++, strategie care oferă o scalabilitate mai bună pe termen lung (căci ai menționat nevoia de a crește la mii de tenants).

2 Likes

Scuze că nu am răspuns mai rapid, dar am fost foarte ocupat cu sfârşitul de an şi finalizarea unor proiecte.

Motivul pentru care m-am îndreptat spre HHVM a fost pentru că e vorba de un soft care are un plan free, şi deja avem aproape 1000 de instance-uri free, şi m-am gândit că fiind toate identice, HHVM ar oferi un avantaj.

Şi aşa, server-ul face faţă destul de ok, un load mediu e de 5% pe CPU, dar e drept că avem şi un server mai puternic.

Deocamdată merge totul ok, am un hhvm cu nginx complet funcţional şi duce load-uri mult mai mari decât serverul PHP standard, care e de fapt un Zend Framework CE mai vechi.

Algoritm complicaţi nu sunt, e doar o amărâtă de aplicaţie Laravel, chiar nimic deosebit.

1 Like