Frage

habe ich eine Social-Networking-Website, die etwas an Schwung zu gewinnen beginnt, und verfügt über einen wachsenden Anwenderbasis. Wir erlauben derzeit den Benutzern, ihre Blog, flickr und Twitter-Feeds zu importieren. Wir verwenden die PHP-Bibliothek simplepie die Feeds zu lesen und dann überprüfen wir die DB sicherstellen, dass wir für jeden gefundenen Feed-Element einen doppelten Eintrag nicht haben. Wenn das Feed-Element neu ist, speichern wir sie in der DB. Das Futter updaters jeden Lauf auf ihren eigenen cron. So haben wir eine für Twitter-Feeds, eine für flickr und eine für Blogs.

Ich habe bemerkt, die Website wird träge und es ist sehr wahrscheinlich, wenn die Cron-Tasks ausgeführt werden. Es muss ein besserer Weg, dies zu tun. Irgendwelche Gedanken?

War es hilfreich?

Lösung

Die allgemeine Idee ist in Ordnung, ich würde das nicht ändern.

Wenn Sie sicher sind, dass es die cron Aufgaben verursacht Leistungsprobleme, dann würde ich sie auf einem separaten Server läuft. einen ‚Batch-Server‘ Nachdem diese Art von Arbeitsplätzen trennen zu dem Front-End-Webserver ist ganz eine gemeinsame Lösung führen.

Aber ich würde auf Änderungen nicht beginne die Leistung zu verbessern, ohne absolut sicher zu sein, was das Problem ist. Soviel ich weiß, könnte Ihr Datenbank-Schema nur schrecklich ineffizient sein.

Andere Tipps

Ben James gibt einen guten Punkt gibt, müssen Sie 100% sicher sein, dass die cron ist die Ursache. Ich würde auf nicht springen einen neuen Server noch tho bekommen, nicht, bis Sie sind nicht in der Lage zu optimieren, was Sie bereits haben.

Welche Art von Trägheit erleben Sie?

  1. Netzwerk Verzögerung?
  2. Datenbank Verzögerung?
  3. Allgemein Seite Last weniger reaktions (Front-End-Code?)
  4. Alles? etc;

eine Analyse durchführen und dann wissen, wo man optimieren, sobald Sie alle Variablen haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top