Quels ont été les principaux inconvénients du développement Web basé sur CGI-BIN?

StackOverflow https://stackoverflow.com/questions/424839

  •  05-07-2019
  •  | 
  •  

Question

J'ai eu la chance de ne pas faire de développement Web basé sur cgi-bin .cgi. Mais généralement ceux qui en ont ne semblent pas "rater" ces jours-là.

Un projet auquel j'ai récemment adhéré a des problèmes de performances lors de l'utilisation de pages devant communiquer avec un système hérité doté d'une API CGI-BIN. Ce système s'appelle COGNOS 7.

Les réactions que j'ai reçues à ce jour sont que "COGNOS est lent", mais d'autres ont rapporté un grand succès avec COGNOS. Je pense que cela a plus à voir avec l'accès via CGI-BIN et non avec la performance de COGNOS en tant que telle. .

Cela dit, quels sont les principaux problèmes qui ont rendu le développement Web basé sur CGI-BIN non performant, difficile, etc.

Était-ce utile?

La solution

Le problème architectural fondamental des systèmes basés sur CGI-BIN est que chaque requête HTTP nécessite que le serveur lance un nouveau processus. Cela affecte les performances de plusieurs manières:

  • Le processus coûte cher, car les pages du système d'exploitation du programme configurent le processus, etc.
  • Les ressources ne peuvent pas être partagées entre les demandes, de sorte que toutes les connexions à une base de données, etc., doivent être configurées à chaque demande
  • L'état de la session utilisateur ne peut pas être conservé en mémoire. Il doit donc être conservé à chaque demande

Autres conseils

Pour moi, le plus gros problème avec CGI est que mes programmes CGI doivent "apprendre". tout à chaque démarrage. S'ils couraient constamment, ce ne serait pas le cas, bien sûr ...

Le principal inconvénient, IMHO, était le même que tous les codages de niveau inférieur: au lieu de programmer dans le domaine problématique, vous deviez programmer dans le domaine de mise en œuvre. Le résultat final était fondamentalement identique: une réponse HTTP a été envoyée à un client sur la base d'une requête HTTP. Cependant, obtenir ce point était beaucoup plus délicat du point de vue de la programmation.

Apache propose plusieurs solutions pour différentes langues (par exemple, mod_perl ) afin qu'un script ne soit appelé que une fois, puis gardé en mémoire pour une récupération rapide. Il existe encore de nombreux sites pilotés par le protocole GCI, dont beaucoup fonctionnent avec une latence relativement faible, s'ils sont bien codés et configurés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top