Collabora Online are mai multe setări care sună ca un „timeout de inactivitate”, dar controlează un comportament diferit. Dacă un editor se estompează sau oprește actualizarea în timp ce un utilizator încă lucrează, ajustați setarea de inactivitate per vizualizare. Dacă un document rămâne încărcat după ce toată lumea pleacă, ajustați timeout-ul per document. Dacă editorul se deconectează efectiv, verificați timeout-ul WebSocket al proxy-ului invers înainte de a modifica politica de inactivitate a Collabora.
Șablonul de configurare actual Collabora Online documentează un timeout de inactivitate de 15 minute per vizualizare, un timeout de 5 minute când fila browserului este nefocalizată și un timeout de o oră înainte ca un document inactiv să fie descărcat. Aceste valori implicite pot varia în funcție de versiune și ambalaj, așadar verificați configurația livrată împreună cu versiunea instalată înainte de a face modificări. Valorile de mai jos se referă la șablonul curent verificat pentru acest ghid și nu reprezintă o garanție pentru fiecare implementare CODE sau la nivel de întreprindere.
Alegeți setarea în funcție de comportamentul dorit
| Setare | Ceea ce controlează | Folosește-l când | Compromis |
per_view.idle_timeout_secs | Reducerea intensității și oprirea actualizărilor atunci când utilizatorul este inactiv, chiar dacă fila browserului rămâne focalizată. Valoarea implicită a șablonului curent: 900 de secunde. | Oamenii au nevoie de perioade mai lungi de timp pentru a citi, a revizui sau a edita fără a interacționa continuu. | O expirare mai lungă menține vizualizările inactive active mai mult timp și poate utiliza mai multe resurse client și server. |
per_view.out_of_focus_timeout_secs | Actualizările se opresc și se diminuează atunci când fila browserului nu mai are focalizarea. Valoarea implicită a șablonului curent: 300 de secunde. | Utilizatorii comută între document și alte file în timpul colaborării. | O expirare mai lungă menține filele de fundal actualizate; mai multe documente deschise pot consuma mai multe resurse. |
per_document.idle_timeout_secs | Se descarcă un document care a devenit inactiv. Implicit în șablonul curent: 3.600 de secunde. | Documentele rămân în memorie prea mult timp după ce vizualizările lor de editare au devenit inactive sau închise. | O valoare mai scurtă eliberează procesele documentului mai repede, dar o redeschidere ulterioară poate necesita reîncărcarea documentului. |
per_document.idlesave_duration_secsşiautosave_duration_secs | Când documentele modificate sunt salvate după inactivitate sau în programul de salvare automată. Valorile implicite ale șablonului curent: 30 și 300 de secunde. | Reglați frecvența de salvare sau investigați comportamentul salvării. | Acestea sunt intervale de salvare, nu setări de expirare a sesiunii. Modificarea lor nu va împiedica diminuarea intensității unei vizualizări inactive. |
| Expirare WebSocket pentru proxy invers | Cât timp menține un proxy deschisă conexiunea WebSocket a browserului. | Editorul se deconectează sau se defectează după o perioadă previzibilă, mai ales când este inactiv. | Conexiunile de lungă durată necesită limite de corespondență pentru fiecare proxy, echilibrator de încărcare și strat de intrare. |
Collabora documentează semnificațiile și setările implicite în șablonul său de configurare coolwsd actual și în referința de configurare . O expirare de inactivitate per vizualizare nu este același lucru cu închiderea unui cont sau revocarea accesului: estompează vizualizarea și oprește actualizările. O expirare per document descarcă un proces de document inactiv; nu este un cronometru care ar trebui să termine o persoană care editează activ.
Puncte de plecare recomandate
- Împiedicați întunecarea prea rapidă a filelor active ale utilizatorilor: măriți
per_view.idle_timeout_secsintervalul de la valoarea implicită instalată la un interval măsurat, cum ar fi 1.800 de secunde (30 de minute). Acesta este un punct de plecare practic, nu o recomandare universală.
- Permiteți utilizatorilor să schimbe filele, menținând în același timp un document actualizat: măriți
per_view.out_of_focus_timeout_secsseparat. Nu măriți valoarea doar pentru că utilizatorii sunt inactivi într-o filă cu focus.
- Reduceți utilizarea memoriei după ce documentele sunt abandonate: lăsați valorile per vizualizare neschimbate și luați în considerare reducerea acestora
per_document.idle_timeout_secs, după ce confirmați că documentul este într-adevăr inactiv și că salvările de stocare sunt sănătoase.
- Remediați o deconectare cu timp fix: investigați timeout-ul WebSocket al proxy-ului, al ingress-ului sau al echilibratorului de încărcare. Modificarea setării de diminuare per vizualizare nu va repara un WebSocket pe care proxy-ul îl închide.
- Păstrați salvările frecvente: lăsați valorile pentru salvarea în inactivitate și salvarea automată la setările actuale, cu excepția cazului în care aveți un motiv separat pentru a le modifica.
Modificați setările din coolwsd.xml
Pentru o instalare bazată pe pachete, găsiți coolwsd.xmlfișierul activ utilizat de serviciul care rulează. Locațiile comune includ /etc/coolwsd/coolwsd.xml, dar căile variază în funcție de distribuții și versiuni mai vechi. Nu presupuneți că editarea unui fișier exemplu sau a unei copii montate neutilizate modifică serviciul care rulează.
Faceți o copie de rezervă a fișierului activ, apoi editați doar valorile relevante din secțiunile existente <per_view>și <per_document>. De exemplu, acest extras setează un timeout de 30 de minute pentru utilizatorii inactivi, un timeout de 15 minute pentru filele din fundal și un timeout de două ore pentru descărcarea documentelor inactive:
<per_view>
<idle_timeout_secs>1800</idle_timeout_secs>
<out_of_focus_timeout_secs>900</out_of_focus_timeout_secs>
</per_view>
<per_document>
<idle_timeout_secs>7200</idle_timeout_secs>
</per_document>
Acesta este un extras, nu o configurație completă de înlocuire. Păstrați atributele, comentariile, imbricarea și alte elemente din fișierul livrat împreună cu versiunea dvs.; unele versiuni necesită atribute XML suplimentare. Dacă doriți să modificați doar diminuarea în timp ce fila rămâne focalizată, editați doar valoarea de inactivitate per vizualizare. Creșterea simultană a valorilor per vizualizare și a valorii de descărcare a documentului face mai dificilă aflarea setării care a rezolvat problema.
Validați fișierul XML utilizând instrumentele de configurare acceptate de implementare, apoi reporniți sau reîncărcați Collabora utilizând metoda documentată pentru pachetul respectiv. Urmăriți jurnalele de pornire pentru erori de analiză a configurației și confirmați că procesul care rulează a încărcat fișierul dorit. O modificare a setărilor care nu este prezentă în procesul activ nu va avea niciun efect.
Setați aceleași opțiuni în Docker sau Kubernetes
În imaginea Docker din Collabora, administratorii transmit de obicei opțiunile de configurare folosind extra_paramssintaxa --o:opțiunilor. Următoarea valoare în stilul Compose ilustrează același exemplu:
extra_params=--o:per_view.idle_timeout_secs=1800 --o:per_view.out_of_focus_timeout_secs=900 --o:per_document.idle_timeout_secs=7200
Folosiți această opțiune numai dacă imaginea și diagrama de implementare acceptă extra_params. Pentru Kubernetes, Helm sau o instalare gestionată de operator, plasați opțiunile în câmpul de configurare acceptat al diagramei sau al resursei personalizate, în loc să editați un fișier container generat. Când modificați variabilele de mediu în Compose, recreați sau redistribuiți serviciul astfel încât noile valori să ajungă în container; o simplă repornire poate reutiliza configurația existentă a containerului.
Nu setați aceeași opțiune în locuri conflictuale, cum ar fi atât un fișier XML montat, cât și un parametru de mediu, fără a verifica regulile de prioritate pentru versiunea respectivă. După redistribuire, inspectați jurnalele de pornire ale containerului și configurația activă. Repozitoriul sursă al proiectului Collabora și documentația de implementare cu versiunea potrivită sunt referințele adecvate atunci când numele opțiunilor sau comportamentul containerului diferă.
Verificați separat timeout-urile proxy-ului invers
Editorul Collabora folosește WebSocket-uri pentru comunicarea continuă în browser. Un proxy poate închide un WebSocket altfel valid chiar dacă termenele de expirare pentru documentul și vizualizarea Collabora sunt setate mult mai lungi. În acest caz, utilizatorii pot vedea o solicitare de deconectare, reconectare sau un editor care nu mai primește actualizări în loc de o simplă vizualizare estompată.
Comparați timeout-ul de citire/trimitere al proxy-ului, orice timeout de inactivitate pentru intrare sau cloud load-balancer și comportamentul de sesiune intenționat de Collabora. Timeout-urile trebuie să fie compatibile pe întreaga rută. Ghidul de setări proxy Collabora include configurarea proxy-ului WebSocket și exemple de conexiuni de lungă durată. Aplicați îndrumările corespunzătoare proxy-ului și versiunii dvs. exacte; nu copiați orbește un bloc Nginx vechi într-un proxy diferit sau pe o rută fără legătură.
Un indiciu util este modelul de eroare. Dacă utilizatorii văd doar vizualizarea inactivă întunecată, examinați [data] per_view. Dacă toți utilizatorii se deconectează aproximativ în același timp, inspectați jurnalele proxy și load-balancer la acel timestamp. Dacă un document se închide numai după ce toți participanții pleacă, timeout-ul per document este mai relevant.
Testați câte o expirare pe rând
- Înregistrați valorile curente din configurația activă și notați versiunea Collabora și metoda de implementare.
- Deschideți un document de test cu doi utilizatori sau două sesiuni de browser, astfel încât să puteți observa atât o vizualizare activă, cât și una inactivă.
- Modificați doar timpul de așteptare care corespunde simptomului. De exemplu, pentru a preveni diminuarea intensității luminoase într-o filă focalizată, dar silențioasă, ajustați
per_view.idle_timeout_secsdoar.
- Reporniți sau redistribuiți prin metoda acceptată, apoi confirmați că noua valoare apare în configurația activă sau în jurnalele de pornire.
- Așteptați după pragul anterior. Confirmați dacă vizualizarea se întunecă în continuare, dacă al doilea utilizator primește în continuare actualizări și dacă modificările continuă să fie salvate.
- Închideți toate vizualizările documentului de test și observați dacă documentul inactiv se descarcă în intervalul prevăzut.
- Verificați jurnalele Collabora și proxy pentru închiderea WebSocket, erorile de analiză XML, salvările eșuate sau curățarea neașteptată a proceselor.
Nu testați modificarea pe un document de producție nesalvat. Confirmați că fișierele modificate sunt salvate în backend-ul de stocare înainte de a permite descărcarea unui proces de document inactiv. Dacă problema este observată doar la modificările nesalvate, verificați erorile de salvare automată și de stocare ca o problemă separată, în loc să prelungiți fiecare timeout.
Echilibrează confortul, utilizarea resurselor și fiabilitatea
Expirările mai lungi per vizualizare sunt potrivite pentru echipele care revizuiesc documente în pauze sau lucrează pe mai multe file de browser. Valorile mai scurte pot face ca vizualizările inactive să se oprească mai devreme, ceea ce poate reduce activitatea în fundal, dar pot întrerupe un cititor care încă vizualizează documentul. Expirarea per document este o opțiune separată de gestionare a resurselor: extinderea acesteia menține documentele neutilizate încărcate mai mult timp, în timp ce scurtarea acesteia poate necesita o încărcare nouă atunci când un utilizator revine.
Pentru majoritatea implementărilor, modificați cel mai mic număr de setări necesare pentru a corespunde comportamentului observat. Păstrați intervalele de salvare, setați o fereastră de inactivitate rezonabilă per vizualizare pentru echipă, mențineți intenționat timeout-ul pentru fila din fundal și reglați limitele proxy WebSocket numai atunci când jurnalele sau temporizarea indică o problemă la nivelul conexiunii. Verificați din nou șablonul de configurare al versiunii instalate după actualizări, deoarece setările implicite și cele acceptate se pot modifica.