Performance??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Performance??

    Hallo erstmal, ich habe nach fleissigem suchen nichts gefunden, und dachte, frag mal nach ...
    Wir, 2 Kumpels und ich, haben eine Community geschrieben. Darin enthalten sind Gästebücher, eine Pinnwand und natürlich auch ein Forum, die Seite ist zwar nur mäßig besucht, aber in Spitzenzeiten sind auch mal 50 User gleichzeitig online, was mich zu meinem Problem bringt:
    Das System, ein Root Server mit Suse 9.1 hat 2.6 GHz P4 und ein Gigabyte Arbeitsspeicher. Trotz alledem hägt der Prozessor so ab 20-30 Leuten immer am oberen Ende....

    Gibt es nicht für php und MySql ein paar Performance Kniffe, die man mir mitteilen könnte? Ich habe schon davon gehört, das der Parser doppelte Anführungszeichen parst, und einfache nicht, da ich anfangs alles in doppelte gefasst hatte, war hier Leistungszuwachs zu verzeichnen, ebenso wie die Datenbank - Verbindung mit einer Variablen vor jede Abfrage zu schreiben.....
    Eben solche Teschnichen Raffinessen wären für mich Gold wert...
    Danke im Vorraus

  • #2
    da deine anfrage nicht geziehlt auf sql geht, verschiebe ich einfach mal ins brainstorming.

    *VERSCHIEB*


    Hallo erstmal, ich habe nach fleissigem suchen nichts gefunden, und dachte, frag mal nach ...
    das nehme ich dir nicht wirklich ab. vielleicht habt ihr ja gesucht. aber dann wohl eher nicht richtig. :-p

    zum theme optimierung von code und datenbanken gibt es mittlerweile ne menge threads hier.
    • deine db des forums ist sicherlich der hauptgrund für den performance verlust. das " und ' ist eher ein untergeordnetes performance-problem.
    • das verarbeiten von schleifen (und das wie) ist auch ein anhaltspunkt, mal deinen code zu optimieren.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Dazu gabs mal ne schöne Liste im Forum. Weiß aber nicht mehr wo. Suchen.

      Ansonsten gibts z.B. http://www.linux-mag.com/2001-12/mysql_01.html

      Kommentar


      • #4
        Hmm, sollte ich nicht gründlich gesucht haben?
        Naja, zumindest hab ich gesucht *fg*

        deine db des forums ist sicherlich der hauptgrund für den performance verlust. das " und ' ist eher ein untergeordnetes performance-problem.

        das verarbeiten von schleifen (und das wie) ist auch ein anhaltspunkt, mal deinen code zu optimieren.
        Warum der Hauptgrund? Ich dachte immer, es würde hauptsächlich an den Gästebücher, da sie ja am meisten genutzt werden, liegen...?
        Mit der db hast du allerdings recht, genau diese ist es, die die Prozessorleistung killt siehe unix -> top...

        Was ist denn mit verarbeiten von Schleifen gemeint?

        Kommentar


        • #5
          Mit der db hast du allerdings recht, genau diese ist es, die die Prozessorleistung killt
          Dann empfehle ich meinen o.g. link ganz besonders.

          Kommentar


          • #6
            Original geschrieben von Dreamdancer
            Was ist denn mit verarbeiten von Schleifen gemeint?
            wenn du viele schleifen hast, und diese ggfls noch geschachtelt sind. und das schlimmst ist, wenn man db-queries in schleifen absendet. das ist der killover eines scripts .... aber das merkst du beim db check schon schnell genug.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Hmm, nun gut, ich werde mir mal den Link zu Gemüte führen, obwohl ich, wenn es um Fachliteratur geht, das Deutsche eher vorziehe *fg*
              Nun ja, ich brauch input...
              Aber im eigentlichen Sinne hatte ich sowas wie Erfahrungswerte gesucht, da ich selber von solcher noch nicht viel Nachweisen kann
              Ich meinte z.B. zwei gepostete MySql Abfragen, eine falsche, eine Performance technich gute....
              Es muss nichts großes sein, nur ein Fingerzeig in die richtige Richtung.
              Ich hab nun auch leuten hören, das die einstellungen auf der Suse Kiste wichtig sind, allerdings wo diese sind, man sie ändert (wieder mit vi wie Linux allgemein?) oder aber auch, wie ich einen Query sofort im mysql, also ohne php (script, phpMyAdmin) stelle... ? Fragen über Fragen, und entweder ich bin suchuntauglich, oder begriffsstuzig, aber bis Dato habe ich keine Antworten gefunde...

              Und Danke an euch zwei, ich werde mich nun mit neuen Stichworten auf die Suche machen...

              Kommentar


              • #8
                schlecht:
                SELECT * FROM foo [WHERE .. LIMIT ...];

                gut:
                SELECT foo, bar, foobar, etc FROM foo [WHERE ... LIMIT ...];

                schlecht:
                $query = "SELECT * FROM foo;";
                $result = mysql_query($query);
                $anzahl = mysql_num_rows($result);

                gut:
                SELECT COUNT(*) AS anzahl FROM foo;


                und beim verwenden von JOINs den richtigen JOIN benutzen, normalisierungsregeln anwenden und natürlich die richtigen indizes setzen.

                Kommentar


                • #9
                  Dieser Ansatz war suuupi Klasse, das geht genau in die richtung, die ich als Unterstüzung brauche, aber da ich ja nur ein Anfänger bin, und noch lange keine Ahnung hab, stell ich weiter Fragen, denn wer nicht fragt bleibt dumm *g*...,
                  Aaaalso, worauf muss ich bei dem RICHTIGEN Join achten? Und wo setze ich den RICHTIGEN indiez, und was hat es mit unique auf sich?

                  Kommentar


                  • #10
                    Das liest du nun am besten im mysql manual nach.

                    Kommentar


                    • #11
                      Aaaalso, worauf muss ich bei dem RICHTIGEN Join achten? Und wo setze ich den RICHTIGEN indiez, und was hat es mit unique auf sich?
                      Ein bisschen selber lesen mußt Du schon!
                      http://dev.mysql.com/doc/mysql/en/My...imization.html

                      Kommentar

                      Lädt...
                      X