Jo: Wie berücksichtigt man Skalierbarkeit?

Hallo.

Meine Frage ist: Wie berücksichtige ich bei der PHP-Programmierung Skalierbarkeit?

Ich kann Skalierbarkeit nicht wirklich definieren, ich denke das damit gemeint ist, was passiert wenn die Auslastung der Skripte massiv steigt!?

Aber wie berücksichtige ich das ganze bei der PHP (mit MySQL) programmierung?

Gruß, Jo

  1. Hallo.

    Meine Frage ist: Wie berücksichtige ich bei der PHP-Programmierung Skalierbarkeit?

    Skalierbar ist ein Script|Programm, wenn es leicht (Zeitnah, mit wenig Aufwand) veränderbar ist. Beispielsweise kommt der Kunde und will noch ein paar mehr Features haben oder ein paar weniger. Das ist nicht auf die Programmiersprache selbst beschränkt, also nichts PHP-spezifischisches.

    Skalierbarkeit lässt sich am Besten mit einem modularen Aufbau realisieren. Dokumentiere Deinen SoftwareCode und schreibe gut verständliche Kommentare für schwierige Stellen. Skalierbarkeit heißt auch, dass Du einen Code aus der Hand geben kannst (Programmieren im Team).

    Hotte

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
    1. Moin!

      Meine Frage ist: Wie berücksichtige ich bei der PHP-Programmierung Skalierbarkeit?

      Skalierbar ist ein Script|Programm, wenn es leicht (Zeitnah, mit wenig Aufwand) veränderbar ist.

      Nein. http://de.wikipedia.org/wiki/Skalierbarkeit

      Beispielsweise kommt der Kunde und will noch ein paar mehr Features haben oder ein paar weniger.

      Nein.

      Das ist nicht auf die Programmiersprache selbst beschränkt, also nichts PHP-spezifischisches.

      Irrelevant.

      Skalierbarkeit lässt sich am Besten mit einem modularen Aufbau realisieren.

      Nein.

      Dokumentiere Deinen SoftwareCode und schreibe gut verständliche Kommentare für schwierige Stellen. Skalierbarkeit heißt auch, dass Du einen Code aus der Hand geben kannst (Programmieren im Team).

      Nein.

      - Sven Rautenberg

      1. Moin,

        Dokumentiere Deinen SoftwareCode und schreibe gut verständliche Kommentare für schwierige Stellen. Skalierbarkeit heißt auch, dass Du einen Code aus der Hand geben kannst (Programmieren im Team).

        Nein.

        Du hast im Fach Softwareengineering entweder nicht aufgepasst oder warst abwesend. Und wahrscheinlich hast Du auch noch nie im Team programmiert.

        Hotte

        --
        Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
        1. Hallo Hotte,

          Deine Tipps sind gut, was allgemeine Softwareentwicklung angeht, haben aber mit Skalierbarkeit überhaupt nichts zu tun. Der Wikipedia-Artikel, den Sven verlinkt hat, beschreibt es ja kurz und gut.

          Gruß
          Olaf

  2. Moin!

    Meine Frage ist: Wie berücksichtige ich bei der PHP-Programmierung Skalierbarkeit?

    Ich kann Skalierbarkeit nicht wirklich definieren, ich denke das damit gemeint ist, was passiert wenn die Auslastung der Skripte massiv steigt!?

    Aber wie berücksichtige ich das ganze bei der PHP (mit MySQL) programmierung?

    Deine Frage lässt sich nicht allgemein beantworten, weil das Verhalten in Hochlast-Situationen individuell auf die zu lösende Aufgabe angepaßt werden muß.

    Typische Maßnahmen sind Caching, Reduktion von Querys, Optimierung von Querys und damit verbunden Optimierung der DB-Struktur. Auch die Verteilung von Teilaufgaben auf mehrere Server und Parallelisierung gehört dazu - was natürlich einfacher zu realisieren ist, wenn vereinzelbare Subsysteme schon von Beginn an existieren und nur umgelagert werden müssen, wenn ein Server nicht mehr reicht.

    Trotzdem ist es am Projektbeginn nur selten abzusehen, welche Teilbereiche denn am meisten Probleme machen, und wo die Flaschenhälse wirklich sitzen. Das zu optimieren ist eine Aufgabe, die sich während der Entwicklungszeit regelmäßig ergibt, und die man mit Lasttests und Profiling startet, um Daten über das zeitliche Verhalten zu ermitteln.

    - Sven Rautenberg