dedlfix: MySQL - Sehr sehr schwerer Query, ich schaffs nicht alleine

Beitrag lesen

echo $begrüßung;

Das Problem ist, bei 1.000.000 Threads - welche sich aktiv ständig verändern, welche Resultate soll ich da im Cache behalten? Und welchen Cache? Reverse Proxy, DB-Cache, PHP-Cache usw..

Mangels Erfahrung kann ich dir das nicht fundiert beantworten. Meinst du wirklich, dass ständig eine Million aktive Threads laufen oder ist das die Gesamtanzahl und die aktiven machen nur einen mehr oder weniger geringen Teil aus? Der Cache müsste dann dafür sorgen, dass die mit der meisten Nachfrage drinbleiben und die anderen aus dem DBMS geholt werden. Da erzähle ich dir sicher nichts Neues, denn so arbeiten Caches im Allgemeinen. Bei den Thread ist es vielleicht nicht unbedingt nötig, sie zu cachen, vor allem aufgrund ihrer hohen Veränderlichkeit und ihrer relativ einfachen Abfragbarkeit. Da wirst du vielleicht mit gezielter Denormalisierung etwas hinbekommen, wenn Thread nicht mehr mit den Usern gejoint werden müssen. (Siehe PDF-Dokument Flickr and PHP - "Normalised data is for sissies". Auch aus dem Rest des Dokuments kann aus der Erfahrung anderer mit einem großen Projekt lernen.) Der Cache wird eher Vorteile ausspielen, bei Daten die aufwendig berechnet werden müssen, sich aber nicht ständig ändern.

Bei Caching stehe ich halt wieder völlig im zugestopften Raum. Ich weiß nicht was Cachen, wo anfangen und wann was und überhaupt.

Jedes größere Projekt ist individuell. Man kann zwar allgemeine Grundsätze beachten, denen sollte man aber nicht blind vertrauen, sondern sich von ihrer Wirksamkeit überzeugen. Am Anfang steht vor allem die Implementation der Funktionalität. Wenn man da schon Erfahrung reinbringt ist das gut, erhöht aber nicht selten den Implementierungsaufwand. Am Ende lässt man die Funktion fallen und außer Zeit verloren hat man höchstens Erfahrung gewonnen. Die Optimierung in einem späteren Schritt vorzunehmen, wäre eine Möglichkeit. Dann sollte man die alte Funktion messen und mit der neuen Funktion vergleichen. Nicht dass man am Ende eine Bremse hinein"optimiert" hat.

Hm ich weiß nicht was ich dir an genaueren Angaben geben könnte.
Es handelt sich um ein sehr sehr großes Projekt.

Eine ungefähre Größenordnung ist immer gut. Vereinswebsite versus weltweitem Online-Handelsunternehmen - da muss man schon mit anderen Kalibern bei der Lösungsfindung rangehen.

Kommerziell - ich beschäme mich fast das ich hier sowas fragen muss ;). Aber man lernt schließlich mit jedem Projekt dazu.

Falsche Bescheidenheit führt gelegentlich zu falschen Ergebnissen.

Was ich mich aber schon immer gefragt habe: Was haben Leute aus dem Forum wie du für Projekte.

Keine so großen. Aber ich sehe gelegentlich, wenn Andere ihre Probleme und Lösungen veröffentlichen. Auch versuche ich einigermaßen den Überblick zu behalten, was es an Problemlösungsstrategien gibt. Auch die aktive Forumsteilnahme trägt bei mir zur Mehrung von Wissen und Erfahrung bei. Nicht immer weiß ich auf eine Frage eine Antwort. Doch wenn mich das Thema interessiert, forsche ich nach einer Lösung, laboriere dran rum, sammle nebenbei Wissen und Erfahrung, antworte ... und werde dann gelegentlich vergöttert :-) Doch viel mehr als der Einäugige unter den Blinden bin ich nicht.

Was hast du für Projekte? Könntest du mal deine größten nennen?

Nein, kann ich nicht, denn die sind nicht groß. Ich bin nur Hobby-Programmierer, das aber schon lange.

echo "$verabschiedung $name";