Entwicklung: CPS v2 [gecancelt wegen phpBB3]

Neue Projekte (requests) und Beta Mods

Moderator: Supporter

Entwicklung: CPS v2 [gecancelt wegen phpBB3]

Beitragvon AmigaLink » 3. Mär 2007 11:47

Aufgrund der Erfahrung von J. Haberstroh und inspiriert durch mgutt, werde ich das CPS demnächst weiterentwickeln.
Ziel ist das Verhindern von möglichen Timeouts im ACP und via FTP.
Womit gleichzeitig Sichergestellt wäre, das sich das CPS nicht zu einem schleichenden Tod (bei extrem großen Boards) des Servers entwickeln kann.

Die Weiterentwicklung wird sich ausschließlich auf das Dateihaindling beziehen!
Das Grundprinzip und die derzeitigen Funktionen werden also nicht geändert. Somit bleibt User und Moderatoren alles gleich.
Lediglich die interne Verwaltung der Cachedateien wird sich ändern und im Zuge dessen auch ein wenig der ACP.

Um die jetzige Performance des CPS gewährleisten zu können und sie evtl. sogar noch ein wenig zu steigern, werde ich dabei (zum ersten mal) auf OOP zurückgreifen.
Das ist eine Programmiertechnik die z.B. auch beim phpBB3, dem Download MOD und dem CH >2.1.x zum Einsatz kommt. Sie ist zwar für den Entwickler (anfänglich) ein wenig Komplizierter. Birgt aber viele Vorteile die sich letztendlich positiv auf die Performance auswirken.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

CPS v2

Beitragvon oxpus » 3. Mär 2007 12:11

Na endlich, doch noch geschafft, Dich auf OOP zu bringen ;)

Gut, was Du da ansprichst sind wirklich Themen, die anfänglich keine grosse, später aber eine entscheidene Rolle spielen.
Den Erfahrungen hier nach zu urteilen sogar gewaltige Probleme bereiten kann.

Ich bin dann mal gespannt, was Du da zauberst.
Aber kleiner Hinweis: Unter safe_mode = ON ist das Dateihandling schwerer!
Hier solltest Du genau testen, was passiert, nicht daß doch nich Leichen entstehen oder gar kein Cache erst erstellt wird...


*sorry, war zunächst in der Ankündigung*
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon Wolfgang » 3. Mär 2007 14:12

Oh, das ist ja sehr spannend! Finde ich klasse, dass Amigalink noch das letzte (?) Problem, das in Zusammenhang mit seinem MOD in sehr großen Boards auftritt, beseitigen möchte.

Könnte man nicht rein theoretisch einfach Unterordner anlegen, also z.B.

cache/posts/posts1 für die Cache-Dateien 1-5000 (*)
cache/posts/posts2 für die Cache-Dateien 5001-10000

usw. Dann könnte es auch ein Update-Script geben, das die bereits vorhandenen Cache-Dateien auf die neu zu schaffenden Ordner aufteilt, und man müsste beim Update von CPS1 auf CPS2 den Cache nicht löschen.

Viel Spaß und Erfolg beim Herumcoden & ein schönes Wochenende!
Wolfgang

(*) oder für den Cache der Beiträge 1-5000, egal, wie viele Dateien dann wirklich in den jeweiligen Ordnern sind; was sich halt einfacher verwirklichen lässt und sinnvoller ist.
Benutzeravatar
Wolfgang
User
 
Beiträge: 47
Registriert: 1. Okt 2006 23:34

Beitragvon AmigaLink » 3. Mär 2007 15:25

@ oxpus
Splitten war nicht nötig, denn dieser thread ist dafür gedacht das Kommentare und evtl. sogar Vorschläge kommen. :D
(Trotzdem danke.)
Und OOP hab ich nie wirklich abgelehnt. Mir fehlt(e) dafür nur immer ein gewissen Grundverständnis und ich finde es auch nicht unbedingt in jedem Fall sinnvoll. Beim CPS denke ich mal das es einiges erleichtert und vor allem auch etwas Performance schonender ist (in Bezug auf das was ich jetzt vorhabe). :)

@ Wolfgang
Genau das ist es was ich machen werde. Allerdings wird die Lösung ein wenig Komplexer als du sie jetzt darstellst. :D

Wann ich anfange das zu Programmieren und vor allem wann die erste Version verfügbar ist, kann ich noch nicht sagen.
Jetzt am Wochenende wird garantiert nichts passieren. Denn ich bin schon seit 2 Wochen eine Party am vorbereiten, die heute Abend steigen wird. Dies hier ist somit für heute mein letztes Posting. :)

Euch auch allen ein schönes Wochenende!
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Patti » 4. Mär 2007 05:05

Na das hört sich doch toll an , selbst bei meinem eigentlich kleinen forum merke ich es schon im acp , das der jahre braucht bis der z.b. den cache löscht oder ähnliches .

Bin auf jeden fall wieder super gespannt , und kann mir gut vorstellen das du AmigaLink irgend wo wieder was findest um noch ein wenig mehr performence rauszukitzeln :)

Viel spaß auf der Party , und ein hoffentlich schmerzfreies rest WE :)


C'ya
Patti
 
Beiträge: 23
Registriert: 14. Jul 2006 21:38
Wohnort: NRW

Beitragvon MrMysteria » 4. Mär 2007 07:22

das ist gut.... bevor sich die leute beschweren das mein premodded zu lahm sei.
MrMysteria
 
Beiträge: 18
Registriert: 2. Mär 2007 16:10
Wohnort: nähe Köln

Beitragvon AmigaLink » 4. Mär 2007 12:37

Viel spaß auf der Party , und ein hoffentlich schmerzfreies rest WE

BildDanke. die Party war Super. Wenn ich nicht einer der Veranstalter gewesen wäre und somit gleich zum Aufräumen wieder hin müsste, dann würde mein Kopf heute durch keine Türe passen. Bild Bild

das ist gut.... bevor sich die leute beschweren das mein premodded zu lahm sei.

Du hast offensichtlich das Problem nicht verstanden.
Es geht nicht um die Geschwindigkeit des Boards, sondern um das interne Dateihaindling. Ok - Boards mit mehr als 500.000 gecachten Beiträgen, kööönnten evtl. auch etwas im Forum merken. Probleme gibt es aber nur im ACP und beim Zugriff auf die Cachedateien via FTP. Diese Probleme treten ab ca. 100.000 gecachten Beiträge ein und das sind werte die deine premoded User so schnell nicht erreichen werden.

Wieder zum Eigentlichem vorhaben:
Als ich das CPS entwickelt habe, hab ich natürlich auch mal Nachgeforscht ob es ein Dateien Limit gibt. Also einen wert der besagt wie viele Dateien es höchsten in einem Ordner geben darf bzw. ab wann es nicht mehr Empfehlenswert ist, weil die Dateiverwaltung des Servers anfängt zu Bremsen.
Ich habe diesbezüglich nichts gefunden. Nun geht momentan mgutt hin und Programmiert, auf Basis der CPS-Idee, einen Cache für den CH2.1.x. Dementsprechend hat er sich die gleichen Gedanken gemacht. Er hat zwar auch keine Grenzwerte gefunden. Dafür aber einen Hinweis bekommen, wie der PHP-Cache eAccelerator mit diesem Problem umgeht.
Nämlich durch Cache-Unterordner, die anhand der Dateinamen verschachtelt werden. Damit wird das Verwalten von mehreren Millionen Dateien, ohne Geschwindigkeitsverlust seitens des Betriebssystems, möglich. :)
Das bedeutet: Keine Probleme im ACP (außer vielleicht bei der Statistik-Berechnung) und gleichbleibenden Performancegewinn im Board selber. 8)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon oxpus » 4. Mär 2007 13:24

Nun ja, Linux und Windows haben ja im Dateisystem verankerte Dateilisten, in denen alle Einträge verwaltet werden.
Die haben dabei nichts mit einem unter dem jeweiligen Betriebssystem verfügbaren Directory Listing zu tun, sondern dienen zur internen Verwaltung des Filesystems.
Bei Windows ist das die MFT, die Master File Table, die im voraus einen festen Platz auf der Festplatte belegt und bei Bedarf selbstständig vergrössert wird.
Diese kann aber nicht beliebig groß sein!
Unter Linux kenne ich jetzt zwar den Namen dieses Verzeichnisses nicht, aber es wird einmalig beim Erstellen der Partition erstellt und kann nur eine begrenzte Anzahl Einträge im Filesystem verwalten.
Klar reichen diese Limits auch unter Linux meistens mehr als aus, aber da das CPS viele kleine Dateien erzeugt, kann die Rechnung auch ein Schuss in den Ofen sein und bei weitem nicht alle Dateien verwalten, die nötig sind. Denn ist unter Linux dieses Limit erreicht, geht nichts mehr!

@AmigaLink
Das solltest Du bei der Umstellung des Dateisystems bedenken, gerade, weil viele Server eben unter Linux laufen.
Es gilt also die schwere Aufgabe zu bewältigen, die Dateien nicht unbedingt je Post sondern auch für Topics zu erstellen und ggf. nachträglich zu zerlegen, um eben die Anzahl der Dateien zu reduzieren.
Ich denke, Foren wie auf phpbb.com mit Millionen von Posts könnten hier den Server auch arg zu schaffen machen.
Es kann zwar sein, daß unter ext3, reiserFS oder andere Linux-Filesystemen das mittlerweile auch keine Rolle mehr spielt, aber dennoch ist es in die Überlegungen schon mit einzubeziehen...
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon AmigaLink » 4. Mär 2007 17:07

Für die Reduzierung der Dateimenge hab ich ja die minimale Dateigröße eingeführt. Und die dabei vorgegebenen 100 Kb sind sehr klein angesetzt. Ich selber nutze 150 Kb, denke aber mal das man auch ruhig noch höher gehen kann.
Die Möglichkeit ganze Topics zu Cachen gefällt mir nicht besonders gut. Weil dadurch die diversen Konfigurationsmöglichkeiten (Sortierung, Anzahl der Beiträge pro Seite) ausgehebelt werden und das verschieben oder Löschen einzelner Beiträge erschwert wird.
mgutt macht das bei seinem MOD. Der Cache wird erst erstellt wenn eine Seite voll ist, oder wenn eine gewisse Zeit kein Beitrag mehr zugefügt wurde.
Die Idee ist nicht schlecht. Schränkt aber, wie gesagt, die Konfiguration ein und außerdem sie es ja Hauptsächlich die neuen Beiträge die sehr häufig aufgerufen werden. ;)
Vielleicht fällt mir ja dazu irgendwann noch was ein. :)

Über dies Gesamtdateianzahl mache ich mir im Übrigen weniger sorgen. Ich denke mal wenn es da wirklich Grenzen gäbe die in einem erfassbarem Bereich liegen, dann gäbe es darüber auch Informationen. Wie du schon richtig sagtest wird der vom MFT reservierte Bereich automatisch erweitert wenn seine Grenzen erreicht werden. Ich denke mal unter Linux ist das nicht anders. Obwohl ich zugeben muss das mir nicht bekannt ist wie die Linux-Filesysteme arbeiten. Mir ist nur selber schon mal aufgefallen das Linux, bei hohen Dateienanzahlen, etwas schneller ist als Windows. Wobei ich das natürlich nicht gemessen hab, sondern nur vom Gefühl her gehe. Aber die Performance (bei der Dateisuche) wird durch die Verschachtelung sowieso gewährleistet. Denn die Dateimengen die derzeitig im Cacheordner existieren, werden durch die Verschachtelung noch nicht einmal annähernd erreicht. Und wenn ich mir ansehe wie flott unsere Boards mit dem CPS laufen, dann kann ich nur zu dem Schluss kommen das hierbei der spürbare Bereich wirklich extrem hoch gesetzt ist.

Die Hauptfrage die ich mir stelle ist, wie Tief sollte man verschachteln um auch bei extrem großen Boards die Timeouts beim Löschen und beim FTP-Zugriff zu umgehen. Ich Spiele da Gedanklich mit 3 oder 4 ebenen. Muss aber eh erstmal sehen wie ich das Umsetze.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Fufu » 5. Mär 2007 14:58

Mein Board hat 651706 Beiträge und läuft mit CPS incl. Signatur-Cache bestens.
Traue mich garnicht den Ordner zu öffnen, da Google anhand der Sitemaps alle 53752 Topics indexiert hat und alle Posts dadurch ab 100kB gecachet wurden.

Würde mich dennoch freuen, wenn der Cache weiterentwickelt wird.
Fufu
 
Beiträge: 16
Registriert: 9. Feb 2007 12:46

Nächste

Zurück zu New Projects



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron