recherche

Maison  >  Questions et réponses  >  le corps du texte

php7.0+TP5 utilisant ZipArchive pour compresser les problèmes de délai d'attente et de chargement des fichiers volumineux

Je voudrais vous demander à tous, lorsque je compresse des fichiers, quelle que soit la façon dont je définis le délai d'attente, la demande de compression demande un délai d'attente de 504 à 1 minute, nginx php est configuré mais il ne fonctionne pas, le logiciel de gestion est phpstudy , le système est centos7.

Il y en a une autre Question, lors de la compression de ZipArchive, je souhaite augmenter la vitesse de compression. Comment y faire face ? La charge maximale du serveur pendant la compression n'est que de 16 %.

_Sun_Sun511 Il y a quelques jours712

répondre à tous(2)je répondrai

  • 大瓶可乐@php.cn

    大瓶可乐@php.cn2023-07-07 16:22:38

    Concernant la première question, si vous avez défini le délai d'attente dans Nginx et PHP mais que vous rencontrez toujours une erreur de délai d'attente 504, vous pouvez essayer les solutions suivantes : 1. Vérifiez le paramètre de délai d'attente de PHP-FPM : ouvrez le fichier php-fpm .conf, recherchez le paramètre `request_terminate_timeout` et augmentez sa valeur pour une durée plus longue (en secondes) et redémarrez PHP-FPM. 2. Vérifiez le paramètre de délai d'attente de Nginx : ouvrez le fichier nginx.conf et ajoutez ou modifiez les paramètres suivants dans le bloc `http` :

    proxy_connect_timeout 600s;   
    proxy_send_timeout 600s;   
    proxy_read_timeout 600s;   
    fastcgi_send_timeout 600s;   
    fastcgi_read_timeout 600s;

    3. Vérifiez les limitations des ressources du serveur : Assurez-vous que les ressources du serveur (CPU, mémoire, espace disque) sont suffisants pour gérer la demande de compression. Si les ressources du serveur sont insuffisantes, le processus de compression peut prendre beaucoup de temps et déclencher un timeout. 4. Ajustez les algorithmes et les paramètres de compression : Certains algorithmes de compression peuvent être plus rapides que d’autres. Vous pouvez essayer d'utiliser un algorithme de compression différent ou ajuster les paramètres de ZipArchive pour augmenter la vitesse de compression. Par exemple, vous pouvez définir une méthode de compression différente à l'aide de la méthode `setCompressionMethod()`, ou ajuster le niveau de compression à l'aide de la méthode `setCompressionLevel()`. Concernant la deuxième question, si la charge du serveur n'atteint que 16 %, cela signifie que les ressources du système ne sont pas pleinement utilisées. Cela peut être dû au fait que le processus de compression ZipArchive est dominé par les calculs du processeur plutôt que par les opérations sur le disque ou le réseau. Dans ce cas, vous pouvez essayer les méthodes suivantes pour améliorer la vitesse de compression : 1. Utilisez un algorithme de compression plus rapide : Certains algorithmes de compression sont plus rapides que d'autres. Vous pouvez essayer d'utiliser un algorithme de compression plus rapide tel que l'algorithme Deflate (`ZipArchive::CM_DEFLATE`). 2. Ajustez les paramètres de compression : en ajustant les paramètres de ZipArchive, tels que la définition de différents niveaux de compression, tailles de fenêtre, etc., la vitesse de compression peut être affectée. Vous pouvez essayer d'optimiser en fonction de la situation réelle. 3. Traitement parallèle : si vous avez plusieurs fichiers à compresser, envisagez de traiter plusieurs fichiers en parallèle pour augmenter la vitesse de compression globale. Par exemple, utilisez le multithreading ou un pool de processus pour traiter plusieurs fichiers simultanément. Veuillez noter que lors de l'optimisation des performances du serveur et de l'augmentation de la vitesse de compression, assurez-vous de disposer de ressources système suffisantes et évitez de dépasser la capacité du serveur afin de provoquer des problèmes de performances. De plus, n’oubliez pas d’utiliser les ressources du serveur à bon escient et de respecter les réglementations et les meilleures pratiques en vigueur.

    répondre
    1
  • _Sun

    Merci, Brother Coke. En définissant les paramètres que vous avez mentionnés, le programme a pu augmenter le temps de compression à environ 150 secondes, mais il a ensuite signalé une mauvaise passerelle. Je n'ai vraiment trouvé aucune restriction dans ce domaine. Aussi, frère Coke, pouvez-vous me dire en détail comment utiliser la méthode de configuration de la méthode de compression de ZipArchive. J'ai vérifié le manuel et je suis novice, mais je ne le comprends vraiment pas. . Il existe également un traitement parallèle, pouvez-vous nous en dire davantage. Merci Coca !

    _Sun · 2023-08-22 17:03:05
  • Annulerrépondre