Remediați lag-ul de co-editare ONLYOFFICE pe un server Docker auto-găzduit

Dacă editarea în comun cu ONLYOFFICE se simte lentă pe un server Docker auto-găzduit, nu începeți prin a modifica parametrii editorului nedocumentați. Mai întâi, separați problema în trei domenii măsurabile: presiunea resurselor serverului, comportamentul reverse-proxy/WebSocket și erorile la nivel de stocare sau container. Editarea în comun depinde de comunicarea în timp real, de lungă durată, astfel încât un server care deschide documentele cu succes poate părea totuși lent atunci când mai multe persoane tastează simultan.

Acest ghid folosește un exemplu ipotetic pe tot parcursul: o echipă mică rulează ONLYOFFICE Docs în Docker în spatele NGINX. Unul sau doi utilizatori pot edita normal, dar când șase persoane deschid același document, actualizările cursorului ajung târziu, iar modificările altor utilizatori apar după o pauză vizibilă. Acest exemplu este doar un scenariu didactic, nu un test de performanță sau un raport al unei implementări reale.

Începând cu octombrie 2026, ONLYOFFICE Docs 9.4 este versiunea curentă listată în jurnalul oficial de modificări. Versiunea 9.4 a modificat și arhitectura ediției Community prin eliminarea dependențelor de RabbitMQ și baze de date, astfel încât sfaturile scrise pentru versiunile mai vechi ar putea să nu se mai potrivească cu un container Community Edition curent. Confirmați întotdeauna ediția și versiunea instalate înainte de a copia sfaturi de optimizare dintr-o postare mai veche pe forum.

1. Măsurați lag-ul înainte de a schimba ceva

Document ONLYOFFICE cu mai mulți indicatori de colaborare care arată mai multe persoane care editează același fișier Plan de proiect
Exemplu ilustrativ: reproduceți întârzierea cu mai mulți utilizatori în același document, astfel încât să puteți compara comportamentul înainte și după fiecare modificare.

În cazul ipotetic, prima greșeală ar fi să reporniți serviciile aleatorii și să sperați că întârzierea va dispărea. În schimb, creați un test repetabil. Deschideți același document din mai multe sesiuni de browser sau conturi de testare, tastați scurte modificări și notați ce este întârziat: apăsările de taste pe ecranul local, mișcarea cursorului la distanță, apariția textului altui utilizator, starea de salvare sau încărcarea inițială a documentului.

Aceste simptome indică diferite blocaje. Dacă editorul în sine se blochează în browserul local, poate fi implicat procesorul de pe partea clientului sau un document foarte complex. Dacă tastarea locală este imediată, dar editările la distanță ajung târziu, examinați calea de rețea și sesiunea WebSocket. Dacă fiecare acțiune încetinește atunci când sunt deschise mai multe documente, inspectați procesorul serverului, memoria, swap-ul și I/O-ul pe disc.

ONLYOFFICE descrie implementarea Docker și cerințele de bază în ghidul oficial de instalare Docker . Pentru Docker Compose, utilizați instrucțiunile oficiale Docker Compose .

2. Verificați presiunea CPU și a memoriei în timp ce utilizatorii editează

Terminal Ubuntu care rulează statistici Docker și afișează utilizarea CPU, memoriei și rețelei pentru un container DocumentServer și serviciile aferente
Execută docker statsîn timpul perioadei efectiv lente; o instantanee făcută când nimeni nu editează ar putea ascunde blocajul.

Pe gazda Docker, executați:

docker stats

Urmăriți containerul Document Server în timp ce grupul de testare editează. De asemenea, inspectați resursele gazdă cu instrumente precum:

free -h
uptime
vmstat 1
df -h

Cerințele oficiale Docker ale ONLYOFFICE specifică cel puțin 4 GB de RAM și cel puțin 40 GB de spațiu liber pe disc pentru configurațiile documentate, împreună cu cerințele swap. De asemenea, îndrumările pentru întreprinderi precizează clar că capacitatea depinde de utilizatorii activi simultan și de numărul, tipul și dimensiunea documentelor. Aceste cifre sunt valori de referință, nu o promisiune că 4 GB vor oferi o colaborare fără probleme pentru fiecare sarcină de lucru.

În exemplul nostru, să presupunem docker statscă containerul Document Server consumă în mod repetat cea mai mare parte a procesorului disponibil ori de câte ori șase persoane tastează simultan. Aceasta este o dovadă semnificativă: adăugarea de timeout-uri proxy nu va crea mai mult procesor. Următorul pas este eliminarea unei limite CPU Docker prea restrictive, mutarea containerului pe o gazdă mai rapidă sau reducerea volumului de lucru concurent. În schimb, dacă procesorul rămâne modest, continuați să investigați înainte de a cumpăra hardware.

Referința oficială pentru îndrumările publicate privind capacitatea sunt cerințele de sistem Docker pentru ONLYOFFICE Docs .

3. Verificați spațiul pe disc, montările și memoria cache a fișierelor

Terminalul Ubuntu afișează ieșirea df -h și mapările de montare Docker pentru directoarele de date și jurnal ONLYOFFICE
Verificați spațiul liber și unde se află jurnalele și memoria cache a fișierelor containerului înainte de a da vina pe editor sau pe rețea.

Documentația Docker de la ONLYOFFICE identifică locațiile persistente, inclusiv /var/log/onlyofficepentru jurnale și /var/lib/onlyofficepentru memoria cache a fișierelor. Verificați sistemul de fișiere care susține aceste căi, nu doar sistemul de fișiere rădăcină al gazdei.

df -h
docker inspect documentserver --format '{json .Mounts}'

Dacă o montare bind indică un sistem de fișiere de rețea lent sau un disc supraîncărcat, deschiderea documentelor, conversia și activitatea din memoria cache pot adăuga latență. Dacă discul este aproape plin, remediați acest lucru înainte de a efectua optimizarea aplicației. Documentația de depanare Linux de la ONLYOFFICE identifică în mod specific spațiul insuficient pe disc ca o posibilă cauză a problemelor de conversie.

Proiectul recomandă, de asemenea, stocarea datelor relevante în afara containerului atunci când aveți nevoie de jurnale persistente, stocare în cache sau servicii externe de baze de date/Redis/RabbitMQ. Consultați ghidul oficial Docker pentru volume .

4. Verificați dacă proxy-ul invers păstrează conexiunea în timp real

Editorul de configurare NGINX afișează proxy HTTP 1.1, anteturile de actualizare și conexiune, anteturile de gazdă și protocol redirecționate și timeout-ul lung de citire
Un proxy invers trebuie să păstreze calea de actualizare WebSocket și informațiile originale despre gazdă/protocol așteptate de ONLYOFFICE.

Multe implementări auto-găzduite plasează ONLYOFFICE în spatele NGINX, Apache, HAProxy sau Traefik. Documentația oficială a proxy-ului ONLYOFFICE necesită în mod explicit anteturi redirecționate, cum ar fi X-Forwarded-Protoși X-Forwarded-Host. Configurația livrată de ONLYOFFICE utilizează, de asemenea, gestionarea actualizării HTTP/1.1 și WebSocket.

Pentru NGINX, comparați configurația cu exemplul oficial ONLYOFFICE, în loc să lipiți un fragment generic WebSocket dintr-un alt produs. Un model reprezentativ include:

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Host $the_host;
proxy_set_header X-Forwarded-Proto $the_scheme;

Directivele exacte din jur mapși locațiile proxy contează. Folosește exemplul complet al furnizorului pentru topologia ta. Configurațiile acceptate sunt publicate în Documentația ONLYOFFICE din spatele proxy-ului .

În echipa ipotetică, să presupunem că gazda Docker are suficient CPU și RAM, dar browserul reconectează în mod repetat canalul de colaborare printr-un strat NGINX corporativ. Aceasta indică calea proxy, nu capacitatea de calcul a serverului de documente.

5. Confirmați sesiunea WebSocket în browser

Fila Rețea din instrumentele pentru dezvoltatori de browser care afișează un document ONLYOFFICE și o solicitare WebSocket cu statusul HTTP 101
O actualizare WebSocket corespunzătoare apare în mod normal ca o cerere WebSocket cu starea 101 și rămâne deschisă în timp ce documentul este editat.

Deschideți instrumentele pentru dezvoltatori din browser, selectați panoul Rețea, filtrați după traficul WebSocket și reîncărcați editorul. O confirmare de conectare WebSocket reușită afișează de obicei HTTP 101 Switching Protocolsși o conexiune care rămâne deschisă. Nu tratați un WebSocket „în așteptare” de lungă durată ca pe o eroare în sine; se așteaptă ca un WebSocket activ să rămână deschis.

Ceea ce contează este comportamentul repetat de deconectare/reconectare, handshake-urile eșuate, erorile de proxy sau intervalele lungi care se corelează cu întârzierea colaborării. Dacă editările la distanță au întârzieri în aceleași momente în care WebSocket-ul se reconectază, acum aveți o problemă concretă de rețea de rezolvat.

Verificați terminarea TLS, timeout-urile de inactivitate proxy, regulile load balancer-ului, politicile WAF și orice intermediar care ar putea să nu păstreze traficul WebSocket. Dacă există mai mult de un nivel proxy, testați fiecare hop în loc să presupuneți că instanța publică NGINX este singura implicată.

6. Verificați containerele așteptate și arhitectura specifică ediției

Terminal care rulează docker compose ps și listează ONLYOFFICE Document Server și containerele suport în starea Activă
Folosește docker compose pssau docker pspentru a confirma că serviciile așteptate de implementarea ta specifică rulează efectiv.

Aleargă:

docker compose ps
# or
docker ps

Nu presupuneți că fiecare implementare ONLYOFFICE modernă trebuie să aibă aceeași colecție de containere Redis, PostgreSQL sau RabbitMQ. Aici contează versiunea. ONLYOFFICE afirmă că, începând cu Docs 9.4, ediția open-source Community a fost simplificată într-o arhitectură cu un singur proces și a eliminat dependențele de RabbitMQ și bazele de date. Implementările Enterprise, Developer, Community mai vechi și stivele Compose personalizate pot diferi.

Asta înseamnă că un articol de depanare din 2023 care spune „RabbitMQ trebuie să fie blocajul” poate fi irelevant pentru o instanță curentă Community Edition. Identificați imaginea și versiunea pe care o rulați efectiv:

docker inspect documentserver --format '{.Config.Image}'
docker image ls onlyoffice/documentserver

Jurnalul oficial de modificări ONLYOFFICE Docs listează versiunea 9.4.0 cu data de lansare 20 mai 2026. Anunțul furnizorului privind lansarea Docs 9.4 explică modificarea arhitecturii Community Edition.

7. Activați temporar înregistrarea în jurnal a depanării și corelați-o cu lag-ul

Terminalul Ubuntu rulează statistici Docker pentru o stivă ONLYOFFICE în timp ce administratorii compară utilizarea resurselor containerului în timpul unei perioade lente de editare
Colectați date despre resurse și jurnale în aceeași perioadă de încetinire reproductibilă, astfel încât marcajele temporale să poată fi corelate în loc să fie inspectate izolat.

ONLYOFFICE oferă o variabilă de mediu Docker documentată pentru înregistrarea în jurnal a erorilor. Pentru o fereastră scurtă de depanare, adăugați:

DS_LOG_LEVEL=DEBUG

Apoi recreați sau reporniți containerul relevant în funcție de metoda de implementare și urmați jurnalele:

docker logs -f documentserver
# Docker Compose:
docker compose logs -f documentserver

Documentația oficială menționează că jurnalele Docker sunt disponibile și în /var/log/onlyoffice/documentserverinteriorul containerului și în directorul de jurnale montat de gazdă corespunzător, dacă îl montați. Jurnalul convertorului este util atunci când deschiderea sau convertirea fișierelor este lentă, în timp ce problemele de co-autorizare ar trebui corelate cu jurnalele Document Server și observațiile browserului/rețelei.

Dezactivați din nou DEBUG după ce colectați ceea ce aveți nevoie. Înregistrarea detaliată este pentru diagnosticare, nu o setare permanentă de performanță. Urmați procedura furnizorului din Activarea înregistrării de depanare în ONLYOFFICE Docs .

8. Actualizați cu atenție dacă rulați o imagine veche

Editorul de configurare NGINX afișează anteturile redirecționate și setările proxy pentru un server de documente ONLYOFFICE
Înainte de o actualizare, păstrați setările de proxy și integrare cunoscute ca fiind valide; după actualizare, retestați exact același scenariu de co-editare.

Dacă implementarea este semnificativ în urma liniei de lansare acceptate, o actualizare poate include remedieri de erori și îmbunătățiri ale arhitecturii. Însă „extrageți cea mai recentă versiune și reporniți” nu este o rețetă sigură pentru performanță pe un server de colaborare în producție.

Mai întâi înregistrați eticheta imaginii curente, fișierul compus, setările JWT, volumele montate, configurația reverse-proxy și configurația integrării. Folosiți o versiune fixată atunci când procesul de modificare necesită reproductibilitate. Ghidul de instalare Docker de la ONLYOFFICE documentează cum să specificați o anumită versiune, iar jurnalul oficial de modificări vă spune ce s-a modificat.

Înainte de a opri intenționat un server de documente aflat în producție, urmați instrucțiunile de oprire ONLYOFFICE pentru ediția și implementarea dvs., astfel încât sesiunile de editare active să fie gestionate în siguranță. Nu utilizați un document de referință care conține lucrări nesalvate ale utilizatorului ca test de actualizare.

Cum cazul ipotetic restrânge soluția reală

Reveniți la echipa exemplu cu șase co-editori. Rezultatul depanării depinde de ceea ce observați:

ObservareCea mai utilă acțiune următoare
CPU-ul serverului de documente se saturează pe măsură ce se alătură mai mulți editoriEliminați limitele nepotrivite ale procesorului sau adăugați capacitate de calcul; optimizarea proxy-ului nu va rezolva suprasolicitarea procesorului.
Memoria este epuizată și gazda schimbă intensAdăugați RAM sau reduceți volumul de lucru; verificați limitele containerelor și documentele deschise simultan.
Discul este aproape plin sau volumele cache/jurnal se află pe o memorie lentăEliberați spațiu sau mutați sarcina de lucru în spațiul de stocare local corespunzător înainte de optimizarea aplicației.
WebSocket se deconectează în mod repetat cât timp procesorul rămâne slabCorectează calea proxy-ului invers/echilibratorului de încărcare și compar-o cu exemplele oficiale de proxy ale ONLYOFFICE.
Doar fișierele vechi mari se deschid lentInspectați jurnalele de conversie, performanța discului și complexitatea documentelor, în loc să presupuneți că co-editarea în sine este defectuoasă.
Problema a început după o modificare a versiunii sau a proxy-uluiComparați modificarea exactă a imaginii/configurației și retestați cu configurația anterioară cunoscută ca fiind validă, dacă planul dvs. de revenire la versiunea inițială o permite.

O bază practică pentru implementările Docker

Pentru o instalare mică, auto-găzduită, începeți cu valorile minime publicate pentru ONLYOFFICE, dar adaptați dimensiunea la activitatea concurentă reală, mai degrabă decât la numărul total de utilizatori înregistrați. Păstrați jurnalele persistente și memoria cache pe spațiu de stocare cu o latență previzibilă. Evitați limitele stricte ale CPU sau memoriei, cu excepția cazului în care ați măsurat volumul de lucru. Împiedicați ca gazda Docker să se schimbe sub sarcina normală de editare.

Plasați ONLYOFFICE în spatele unei configurații de proxy invers derivate din exemplele acceptate de furnizor, păstrând actualizările WebSocket și anteturile gazdă/protocol transmise. Monitorizați serverul în timpul co-editării efective, nu doar în timpul inactivității. Dacă aveți nevoie de dovezi mai detaliate, activați temporar înregistrarea în jurnal DEBUG și corelați marcajele temporale ale jurnalului cu comportamentul WebSocket al browserului și cu metricile gazdei.

Ce să nu faci

  • Nu modificați valorile nedocumentate local.jsondoar pentru că o postare pe forum le numește „modificări de performanță”.
  • Nu presupuneți că un WebSocket persistent afișat ca „în așteptare” este defect; se așteaptă WebSocket-uri cu durată lungă de viață.
  • Nu adăugați Redis, RabbitMQ sau PostgreSQL doar pentru că o diagramă de implementare veche le-a folosit. Verificați mai întâi arhitectura ediției și versiunii dvs.
  • Nu dezactivați verificarea TLS, securitatea JWT sau protecțiile proxy ca o scurtătură pentru a reduce latența.
  • Nu comparați o metrică a serverului inactiv cu perioada în care utilizatorii raportează efectiv o întârziere.
  • Nu actualizați o instanță de producție fără a păstra volumele, configurația și o cale de rollback.

Concluzie

Lag-ul de co-editare ONLYOFFICE este cel mai ușor de remediat atunci când îl tratați ca pe o problemă de sistem măsurabilă. Reproduceți întârzierea, observați resursele Docker și gazdă sub sarcină, verificați spațiul de stocare, confirmați că browserul menține un WebSocket sănătos prin fiecare proxy și inspectați jurnalele doar pentru fereastra de timp în care apare lag-ul. Odată ce știți dacă blocajul este legat de calcul, memorie, disc, comportamentul rețelei/proxy-ului sau o modificare specifică a versiunii/configurației, remedierea devine țintită în loc să fie speculativă.

Pentru detalii despre implementarea actuală, utilizați documentația de instalare ONLYOFFICE Docker , exemplele oficiale de reverse-proxy , ghidul de depanare în jurnal și jurnalul oficial de modificări din Documents .

Lasă un comentariu

Importul și exportul Office Outlook 2010: Mutarea datelor cu un fișier PST

Importul și exportul Office Outlook 2010: Mutarea datelor cu un fișier PST

Aflați cum să importați un fișier PST în Outlook 2010 sau să exportați e-mailuri, contacte, calendar și activități. Urmați meniurile corecte și evitați folderele lipsă sau duplicatele.

Modificarea înălțimii și lățimii grilei în Word 2010

Modificarea înălțimii și lățimii grilei în Word 2010

Aflați cum să ajustați înălțimea și lățimea grilei în Word 2010, să modificați frecvența liniilor vizibile și să setați spațierea orizontală și verticală subiacentă a grilei de desen.

Recuperarea unei parole Outlook PST cu Nucleus Kernel

Recuperarea unei parole Outlook PST cu Nucleus Kernel

Recuperează o parolă Outlook PST uitată cu pașii actuali ai Kernel, inclusiv cum să identifici fișierul corect, să faci o copie de rezervă și să verifici limitele instrumentului.

Cum se inserează o pagină web live într-un diapozitiv PowerPoint

Cum se inserează o pagină web live într-un diapozitiv PowerPoint

Utilizați programul de completare LiveWeb pentru a plasa un site web pe un diapozitiv PowerPoint, a seta dimensiunea și comportamentul de reîmprospătare și a verifica compatibilitatea înainte de prezentare.

Adăugați sărbători naționale în calendarul Outlook

Adăugați sărbători naționale în calendarul Outlook

Adăugați sărbători specifice fiecărei țări în noul Outlook, Outlook pe web sau Outlook clasic. Aflați cum să evitați evenimentele duplicate și să verificați dacă lipsesc datele din perioada 2026-2027.

Access 2010: Exportul unui tabel de bază de date în Excel 2010

Access 2010: Exportul unui tabel de bază de date în Excel 2010

Exportați un tabel Access 2010 în Excel 2010, alegeți dacă doriți să includeți formatarea, salvați pașii de export reutilizabili și verificați problemele comune legate de transferul de date.

Șabloane Microsoft Word 2010: Găsiți-le, utilizați-le și creați-le

Șabloane Microsoft Word 2010: Găsiți-le, utilizați-le și creați-le

Găsiți șabloane Word 2010 încorporate, începeți un document dintr-un fișier .dotx descărcat și salvați un șablon personalizat reutilizabil fără a suprascrie lucrarea.

Cum să organizezi o prezentare PowerPoint 2010 cu secțiuni

Cum să organizezi o prezentare PowerPoint 2010 cu secțiuni

Utilizați secțiunile PowerPoint 2010 pentru a grupa diapozitive corelate, a redenumi și a rearanja grupuri și a naviga printr-un pachet lung de diapozitive fără a modifica conținutul diapozitivelor.

Cum să eliminați metadatele și conținutul ascunse dintr-un document Word

Cum să eliminați metadatele și conținutul ascunse dintr-un document Word

Folosește Inspectorul de documente din Word pentru a revizui detaliile autorului, comentariile, modificările urmărite, textul ascuns și alte date înainte de partajare și pentru a afla ce poate omite scanarea.

Setări de export și import pentru panglică și bara de instrumente cu acces rapid în Office 2010

Setări de export și import pentru panglică și bara de instrumente cu acces rapid în Office 2010

Mutați filele personalizate din panglică și comenzile din bara de instrumente Acces rapid în Office 2010 cu un fișier .exportedUI și protejați setările deja existente pe PC-ul de destinație.