Algemeine Frage zur MySql und PHP

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Algemeine Frage zur MySql und PHP

    Hallo Leute!

    Brauche ein Paar Tipps von Euch.

    1.Ich brauche Geschwindigkeitsoptimierung bei MySql –Datenbanken. Bei meinen Scripten
    verursacht eine Person ca. 90 Datenbankzugriffe in 5 Sekunden (1-stes Modul es gibt mehrer module die Parallel zu einander arbeiten).
    Das macht bei 10 Personen 10800 Datenbankzugriffe in der Minute. Oder 180 Zugriffe in 1 Sekunde. Wie kann ich die Datenbanken überarbeiten oder optimieren (Ich meine Script befehle) so das sich der Server nicht Überlastet. Ich kenne Seiten die nach dem Selben Prinzip mehr als 1000 Personen verwalten ohne das man das Gefühl bekommt das der Server sich überlastet. Was mache ich Falsch? (Ich verwende keine JOINS)

    2. Was für ein Geschwindigkeitsvorteil gibt es bei ständig offenen Verbindung zur MySql?Z.B. für ein Chat?
    Den normalerweise wird die Verbindung zur DB getrennt sobald die PHP- Seite abgearbeitet ist.

    3. Gibt es eine Möglichkeit mehrere Datenbanken (auf verschiedenen Servern verteilt- wegen Serverleistung) in einem Projekt zu Nutzen, zuzugreifen.

    4. Bringen Klassen wirklich Geschwindigkeitsvorteile?

    5. Habe ein Chat programmiert der nach ca. 3 Monaten von irgend einem Ar**** gehackt wurde. Provider meint das der Fehler in dem Chat- Script liegt.
    Die Frage lautet jetzt wie stelle ich fest das eine Sicherheitslücke entsteht und wie ich es vermeiden kann?(PHP- Code).

    6. es gibt scripte die können Inhalte von anderen Seiten auslesen. Habe ich probiert es funzt!! Leider!!! Man kann richtig alles auslesen Variablen, befehle if- Schleifen usw. dann habe ich eine Seite gefunden die statt auslesen eine Fehlermeldung anzeigt und das auslesen verbietet. Wie mache ich das? Brauche auch so ein Schutz.

  • #2
    Re: Algemeine Frage zur MySql und PHP

    Zu 1. kann man nicht viel sagen, ohne dein Datenmodell zu kennen.

    Zu 2.) Chats sollte man ja auch nicht über PHP und HTTP abwickeln, diese sind dafür denkbar ungeeignet.

    Zu 5.)
    Die Frage lautet jetzt wie stelle ich fest das eine Sicherheitslücke entsteht und wie ich es vermeiden kann?
    Falls es ein selbsterstelltes Script war: Besser mit PHP umgehen; beim Lernen (noch)mehr um sicherheitsrelevante Aspekte kümmern.
    Falls es ein Fremdscript war: Sorgfältiger auswählen, mehr auf die Qualität achten - und nicht so sehr auf "billig" oder gar "kostenlos".

    Zu 6.) Keine Ahnung, wo von du da redest.
    So etwas ist eigentlich nur möglich, wenn entweder der Administrator des Servers sein Handwerk absolut nicht versteht, oder der Scriptersteller das seine (so dass die Scripte als Einfallstore dienen können).
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #3
      Re: Algemeine Frage zur MySql und PHP

      Original geschrieben von Architectus
      1.Ich brauche Geschwindigkeitsoptimierung bei MySql –Datenbanken. Bei meinen Scripten
      verursacht eine Person ca. 90 Datenbankzugriffe in 5 Sekunden (1-stes Modul es gibt mehrer module die Parallel zu einander arbeiten).
      ich würde mal die Anwendung überarbeiten Oo,


      3. Gibt es eine Möglichkeit mehrere Datenbanken (auf verschiedenen Servern verteilt- wegen Serverleistung) in einem Projekt zu Nutzen, zuzugreifen.
      natürlich geht das

      4. Bringen Klassen wirklich Geschwindigkeitsvorteile?
      nein, der Code wird eher langsamer (merken tust du das erstmal nicht, es sind mikro/millisekunden ), aber der Code wird wesentlich übersichtlicher und verständlicher! und das sollte dir die paar Sekündchen wert sein...

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Comment


      • #4
        Re: Algemeine Frage zur MySql und PHP

        Original geschrieben von Architectus
        1.Ich brauche Geschwindigkeitsoptimierung bei MySql –Datenbanken. Bei meinen Scripten
        verursacht eine Person ca. 90 Datenbankzugriffe in 5 Sekunden (1-stes Modul es gibt mehrer module die Parallel zu einander arbeiten).
        Daran solltest du dringend arbeiten, sowenig Queries wie möglich, soviele wie nötig benutzen, eventuell kannst du auch aus mehreren einen machen in dem du Tabellen verknüpst. Kommt natürlich immer drauf an was die Anwendung tut, aber ich sage mal das ich auf den meisten Seiten mit 3-6 queries locker hinkomme.

        2. Was für ein Geschwindigkeitsvorteil gibt es bei ständig offenen Verbindung zur MySql?Z.B. für ein Chat?
        Den normalerweise wird die Verbindung zur DB getrennt sobald die PHP- Seite abgearbeitet ist.
        Geöffnete Verbindungen die nicht geschlossen werden sind grundsätzlich sehr schlecht weil Sie dann offen bleiben und irgendwann timeouten was man vermeiden sollte. Geschwindigkeit bringt das sicherlich nicht, eher im Gegenteil.

        3. Gibt es eine Möglichkeit mehrere Datenbanken (auf verschiedenen Servern verteilt- wegen Serverleistung) in einem Projekt zu Nutzen, zuzugreifen.
        Natürlich geht das, wieso auch nicht ?

        4. Bringen Klassen wirklich Geschwindigkeitsvorteile?
        Im Gegenteil, Klassen sind langsamer als "normaler" code, aber das nur minimal, dafür erhöht sich aber die Lesbarkeit und Erweiterbarkeit enorm, ich arbeite nurnoch Objektorientiert.

        5. Habe ein Chat programmiert der nach ca. 3 Monaten von irgend einem Ar**** gehackt wurde. Provider meint das der Fehler in dem Chat- Script liegt.
        Die Frage lautet jetzt wie stelle ich fest das eine Sicherheitslücke entsteht und wie ich es vermeiden kann?(PHP- Code).
        Schwer zu sagen ohne den Code zu kennen Hast du eine Ahnung was besagter hacker gemacht hat ?

        6. es gibt scripte die können Inhalte von anderen Seiten auslesen. Habe ich probiert es funzt!! Leider!!! Man kann richtig alles auslesen Variablen, befehle if- Schleifen usw. dann habe ich eine Seite gefunden die statt auslesen eine Fehlermeldung anzeigt und das auslesen verbietet. Wie mache ich das? Brauche auch so ein Schutz.
        davon habe ich noch nie etwas gehört, bei serverseitigen scripten stelle ich mir das auch sehr schwierig vor
        außer das script verschafft sich direkten zugriff auf den server was aber nur sein kann wenn die admins sehr fahrlässig mit der sicherheit ihres servers umgehen

        Comment


        • #5
          OffTopic:
          kaguya <- half-parrot!
          Was schon gesagt wurde musst du nicht nochmal wiederholen
          [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

          [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

          [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
          (from here)

          Comment


          • #6
            das hättest du meinem vorredner genauso sagen können außerdem habe ich es ausführlicher formuliert, ist das verboten ?

            kommentare wie deine tragen doch noch viel weniger zur Problemlösung bei..

            Immer diese Besserwisser und Moralapostel überall, als hätte ich seinen text 1zu1 kopiert

            Comment


            • #7
              OffTopic:
              Original geschrieben von kaguya
              das hättest du meinem vorredner genauso sagen können außerdem habe ich es ausführlicher formuliert, ist das verboten ?
              wenn es nicht so auffallen gewesen wäre hätte ich nichts gesagt (guck dir mal 3. und 4. an)

              zudem habe ich heute ausnahmsweise (!) meinen schlechten Tag - da darf ich das
              [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

              [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

              [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
              (from here)

              Comment


              • #8
                Re: Algemeine Frage zur MySql und PHP

                Original geschrieben von Architectus

                6. es gibt scripte die können Inhalte von anderen Seiten auslesen. Habe ich probiert es funzt!! Leider!!! Man kann richtig alles auslesen Variablen, befehle if- Schleifen usw. dann habe ich eine Seite gefunden die statt auslesen eine Fehlermeldung anzeigt und das auslesen verbietet. Wie mache ich das? Brauche auch so ein Schutz.
                90 DB-Zugriff in 5 Sekunden... Sinn?
                Das muss doch simpler gehn.

                BTW: IF is keine Schleife...

                Comment


                • #9
                  Original geschrieben von Meillo
                  OffTopic:
                  wenn es nicht so auffallen gewesen wäre hätte ich nichts gesagt (guck dir mal 3. und 4. an)

                  zudem habe ich heute ausnahmsweise (!) meinen schlechten Tag - da darf ich das
                  ja gut habe ich dann auch gesehen, trotzdem denke ich das es schlimmeres gibt, egal ist vergessen

                  Comment


                  • #10
                    Danke für euere Hilfe.

                    Gesamtfassung:

                    Geschwindichkeit für DB so wenig wie möglich so viel wie nötig QUERYs
                    verwenden. OK.

                    Klassen zur übersichtlichkeit verwenden.
                    (Macht vielleicht sin- den ein Modul verbraucht insgesamt mehr als 15000 Zeilen CODE (mit SEHR WENIG kommentaren))

                    Eine Frage habe ich noch:
                    wenn ein CHAT nicht auf HTTP - Protocoll + PHP + MySql basiert werden soll.
                    Welche technologie sollte ich dan verwenden? und Das wichtigste wo finde
                    ich informationen zu diesem Thema? Das kann auch ein Commerzieller
                    anbieter sein, ist mir egal. Hauptache der Chat verträgt ca. 1000 User die
                    Online sind.

                    Comment


                    • #11
                      2. Was für ein Geschwindigkeitsvorteil gibt es bei ständig offenen Verbindung zur MySql?
                      ich kenne jemanden der mysql-datenbanken programmiert.
                      mysql hat seine langsamste reaktionzeit beim öffnen/suchen einer verbindung, in der zeit könntest du edliche query´s durchjagen und bist immer noch schneller. du hast also einen geschwindigkeitsvorteil bei permanenten verbindungen, ob man den merkt??? angeblich!!!
                      bei ständig offenen verbindungen musst du halt wie von den anderen schon beschrieben aufpassen.
                      ich geh zum lachen in den keller

                      Comment

                      Working...
                      X