Partage
  • Partager sur Facebook
  • Partager sur Twitter

PHP & optimisation : allouer le max de ressource !

Gros script qui mettent 2000sec pour se compiler...

Sujet résolu
    20 février 2014 à 1:09:51

    Bonjour,

    J'ai un serveur dédié de 32Go de ram & 8 coeurs.
    J'aimerais savoir si dans le fichier php.ini par exemple ont avais la possibilité d'augmenter la vitesse de php ?
    Mon serveur n'étant que très peut sollicité, et ayant beaucoup de ressource de dispo, j'aimerais tout donner pour php car j'ai de très gros script qui mettent jusqu'à 2000 secondes pour s’exécuter ! Alors, un moyens, une solution, une idée ? Je suis preneur :)

    Merci de votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2014 à 1:40:26

      Config actuel :

      ;;;;;;;;;;;;;;;;;;;
      ; Resource Limits ;
      ;;;;;;;;;;;;;;;;;;;

      ; Maximum execution time of each script, in seconds
      ; http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time
      max_execution_time = 9999999999999999    

      ; Maximum amount of time each script may spend parsing request data. It's a good
      ; idea to limit this time on productions servers in order to eliminate unexpectedly
      ; long running scripts.
      ; Default Value: -1 (Unlimited)
      ; Development Value: 60 (60 seconds)
      ; Production Value: 60 (60 seconds)
      ; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time
      max_input_time = -1

      ; Maximum input variable nesting level
      ; http://www.php.net/manual/en/info.configuration.php#ini.max-input-nesting-level
      ;max_input_nesting_level = 64

      ; Maximum amount of memory a script may consume (128MB)
      ; http://www.php.net/manual/en/ini.core.php#ini.memory-limit
      memory_limit = 4096M

      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2014 à 5:42:43

        Faudrait peut-être penser à optimiser tes scripts au passage... Ils seraient certainement plus rapides ! ^^
        • Partager sur Facebook
        • Partager sur Twitter
          21 février 2014 à 13:40:54

          Le truc c'est que mon script se connecte sur 150 serveur minecraft pour vérifier si il sont en ligne ou pas, avec un timeout de 1 seconde par serveur, et à chaque fois il télécharge les infos comme le nombre de joueurs en ligne ect... et les stock dans une base.
          Peut être faire ça en python serait mieux? ^^

          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2014 à 14:21:44

            Salut,

            Puisque ton script se connecte et télécharge les données depuis 150 serveurs différents, la lenteur de traitement vient de la bande passante de ton serveur et des serveurs cibles. Tu auras sensiblement le même délai d'exécution avec Python.

            Par contre modifier les configurations de php directement dans le fichier php.ini et ainsi permettre à tous tes scripts de consommer toutes les ressources de ton serveur n'est pas très conseillé. Il vaut mieux garder les valeurs par défaut dans php.ini et utiliser l'instruction ini_set() au début de ton script pour modifier la configuration php uniquement pour ce script.

            Bonne journée

            • Partager sur Facebook
            • Partager sur Twitter
              21 février 2014 à 15:03:10

              Je ne sais pas si cela est du à la bande passante de mon serveur, sachant qu'elle n'est jamais pleine :/ (1Gbt/s Garantie)

              2 SSD de 120 GO en Raid1 Hard donc c'est pas une limitation D'I/O non plus.

              Que me conseil tu de modifier dans mon ini_set() ? :)

              • Partager sur Facebook
              • Partager sur Twitter
                21 février 2014 à 17:36:05

                La limite de téléchargement vient surtout du débit d'upload des serveurs ciblés.

                Si par exemple tu ne veux aucune limite de temps d'exécution et de mémoire pour ton script, ajoute ces deux lignes au début de celui-ci :

                set_time_limit(0);
                ini_set('memory_limit', -1);



                • Partager sur Facebook
                • Partager sur Twitter
                  21 février 2014 à 19:22:59

                  Merci en tout cas, c'est sympa de ton aide ;)

                  Dommage que Php ne répartisse pas tout seul la tache d'une page php vers les 8 cœurs ^^

                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mars 2017 à 3:01:15

                    SVP Avez vous trouver une solution pour un serveur php pour utiliser tous les sources mémoire en utilisant un serveur web nginx! ?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    PHP & optimisation : allouer le max de ressource !

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown