db4o Client / Server scheint nur eine Abfrage gleichzeitig verarbeiten zu können.

8

Wir evaluieren db4o (ein OO-DBMS von Ссылка ). Wir haben einen Leistungstest für den Client / Server-Modus zusammengestellt, bei dem wir einen Server hochfahren und ihn dann mit mehreren Clients gleichzeitig hämmern. Es sieht so aus, als ob der Server nur die Abfrage eines Clients gleichzeitig verarbeiten kann.

Haben wir irgendwo einen Konfigurationsschalter verpasst, der dieses Szenario zulässt? Serverimplementierung ist unten. Der Client stellt eine Verbindung her, fragt (schreibgeschützt) ab und trennt die Verbindung je Operation, und Operationen werden unmittelbar nacheinander von mehreren Arbeitsthreads im Clientprozess ausgeführt. Wir sehen dasselbe Verhalten, wenn wir einen Client-Prozess mit jeweils einem Arbeiter gegen den gleichen Server hochfahren.

Irgendwelche Vorschläge?

Bearbeiten: Wir haben nun die Lazy und Snapshot QueryModes entdeckt und ausprobiert, und obwohl dies das blockierende Serverproblem (teilweise) verringert, sehen wir immer noch erhebliche Nebenläufigkeitsprobleme bei unseren Clients (wir laufen 40 gleichzeitige Test-Clients) warten Sie 1-300ms, bevor Sie eine zufällige Operation-Anfrage ausgeben) Hammer auf dem Server. Es scheinen Ausnahmen vom LINQ - Provider und von den IO - Interna zu kommen: - (

%Vor%     
Peter Mounce 22.10.2008, 16:56
quelle

1 Antwort

1

Nun, auf den db40-Servern gibt es etwas, das nicht zu viele Clients gleichzeitig erlaubt, da es für manche zu viel ist. Sie haben es auch gesperrt, was in diesem Fall nichts half.

    
user2272959 23.04.2013 01:17
quelle