3 votes

GitWeb très lent sous Apache sous Windows en utilisant l'interpréteur Perl de MSysgit

J'utilise GitWeb sur Windows Server 2008 R2 avec Apache 2.2.22 (win64). J'ai suivi les instructions ici : https://git.wiki.kernel.org/index.php/MSysGit:GitWeb Les instructions disent que nous devons utiliser la version msysgit de perl comme première ligne de perl dans le script de gitweb.cgi.

GitWeb fonctionne, mais il est extrêmement lent, il faut environ 10 secondes pour charger une page. Ce que j'ai remarqué est que même si j'écris un "Hello World" script en utilisant la version de Perl de msysgit comme première ligne, Apache est lent à l'exécuter également. Cependant, si l'on passe à une autre version de Perl, comme celle de cygwin (C:/cygwin/bin/perl), l'exécution redevient rapide. Je n'arrive pas à faire exécuter gitweb.cgi en utilisant un autre type de perl que msysgit, car lorsque je le fais, j'obtiens une erreur "Projects Not Found".

3voto

user64141 Points 672

Après plusieurs heures, j'ai trouvé une solution alternative. Au lieu d'utiliser la version de msysgit de git et perl, nous allons utiliser celle de cygwin :

1) Installez Cygwin, et choisissez les paquets cygwin suivants : git (et perl si nécessaire)

2) Modifiez le fichier gitweb.cgi à 3 endroits.
La première ligne de gitweb.cgi devrait dire :

#!C:/cygwin/bin/perl

Assurez-vous que la variable $GIT est correctement définie, et au format "cygwin" :

our $GIT = "C:/cygwin/bin/git";

Le répertoire projectroot doit être au format "cygwin", pas au format msysgit :

our $projectroot = "/cygdrive/c/temp/repos";

Pour une raison quelconque, la version de perl de cygwin s'exécute beaucoup plus rapidement sous apache que celle de msysgit.

0voto

Leanid Points 1

Ajoutez simplement la ligne suivante dans httpd.conf

SetEnv LOGONSERVER \machine

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X