Christoph Zurnieden: Ein Regexp-Problem

Beitrag lesen

Hallo,

if(head.clients.clientnum > MAX_CLIENT_NUM) {
        fo_log(LOG_STD,__FILE__,__LINE__,"rejecting connection\n");
        writen(connfd,"507 Server has to many connections\n",35);
        close(connfd);
        pthread_mutex_unlock(&head.clients.lock);
      }

Ist aber sehr brutal.

Ja, ich weiss. Aber was soll ich sonst tun?

Diese Frage hast Du Dir schon selber beantwortet.
Ich sollte abends öfters mal weggehen, was? ;-)

Noe. Der Flaschenhals ist der Server.

Das bringt mich auf die Frage:
Warum läuft nur ein Prozessor?

Außerdem möchte ich auf die Mehrdeutbarkeit von "Server" hinweisen.
Denn, wenn mich nicht alles täuscht, läuft das Dingen noch über den Apachen, oder? >;->

Wieviel Speicher ist denn zur Verfügung?

Ein Gig.

Knapp, aber laut Auslastung wohl ausreichend.

Kann man was puffern? Forumshauptdatei komplett z.B.?

Das wird schon getan :)

Ja, so kann ich das auch! ;-)
Nein, den kompletten, geparsten Baum via SHM o.ä., der Archiver ist dann derjenige, der alles auf Platte sichert.
Das kann dann auch öfters geschehen, ein festes Zeitlimit eingestellt werden.
Dann mußt Du nur darauf achten, den Server nicht wieder beim Benchmarking abzuschießen ;-)

Und das größte Problem, wie immer:
Auslagerungsdatei?
Wie sieht der Speicherbedarf aus? Wird viel ausgelagert?

Mem: 309M Active, 399M Inact, 218M Wired, 34M Cache, 112M Buf, 45M Free
Swap: 500M Total, 3400K Used, 497M Free

Da würde ich sagen: schieb noch einen Riegel rein und schalte den Swap ganz ab, auch im Kernel ;-)

so short

Christoph Zurnieden

PS:
Änderungen noch nicht im CVS?
CZ