Frage

Ich hatte das Glück, keine cgi-ist Entwicklung cgi-basierte Web zu tun. Aber in der Regel diejenigen, die scheinen nicht zu ‚Miss‘ jener Tage.

Ein Projekt, das ich vor kurzem beigetreten hat ein Leistungsproblem, wenn sie mit den Seiten handelt, die zu einem Legacy-System kommunizieren müssen, die ein CGI-BIN-basierte API hat. Das System ist COGNOS 7.

Das Feedback, das ich bis heute erhalten ist, dass ‚COGNOS langsam ist‘, aber andere haben großen Erfolg mit COGNOS berichtet, ich denke es hat mehr mit dem Zugang über CGI-IST und nicht die Leistung von COGNOS an und für sich zu tun .

Alles, was gesagt, was die wichtigsten Fragen, die CGI-BIN-basierte Web-Entwicklung nicht-performante gemacht, schwer, etc ...

War es hilfreich?

Lösung

Das grundlegende architektonische Problem mit CGI-BIN-basierten Systemen ist, dass jede HTTP-Anforderung des Server erfordert einen neuen Prozess zu starten. Dies beeinträchtigt die Leistung in einer Reihe von Möglichkeiten:

  • Es ist teuer, den Vorgang zu starten, da die OS-Seiten im Programm setzt den Prozess, etc.
  • Ressourcen können nicht über Anfragen geteilt werden, so dass alle DB-Verbindungen, usw. haben mit jeder Anforderung eingerichtet werden
  • Benutzersitzungsstatus kann nicht im Speicher erhalten bleiben, so hat es mit jeder Anforderung beibehalten wird

Andere Tipps

Für mich ist der größte Schmerz mit CGI ist, dass meine CGI-Programme müssen „lernen“ alles jedes Mal, wenn sie starten. Wenn sie ständig liefen das wäre nicht der Fall sein, natürlich ...

Der Hauptnachteil, IMHO, war der gleiche Nachteil, dass all untergeordnete Codierung hat - statt Programmieren im Problembereich, mußte man bei der Umsetzung Domäne programmieren. Das Endergebnis war, in ihrem Kern, identisch - eine HTTP-Antwort wurde an einen Client auf der Basis einer HTTP-Anforderung gesendet. Allerdings bekommen dieser Punkt war viel schwieriger aus einer Programmiersprache Perspektive.

Apache hat mehrere Lösungen für diese für verschiedene Sprachen (zB Mod_perl ), so dass ein Skript nur aufgerufen wird, einmal, hielt dann im Speicher für den schnellen Abruf. Es gibt immer noch viele GCI-Protokoll angetrieben Websites gibt, von denen viele mit relativ geringer Latenz laufen, wenn sie gut codiert und aufgebaut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top