Hauptquelle für verlangsamung sind:
- Langsame, nicht gecachte Datenbankabfragen
- Unnötig häufige Datenbankabfragen
- Datenbankabfragen, die nicht auf Schlüssel zielen
- Datei-Operationen auf vielen Dateien
- Datei-Operationen auf großen Dateien
- Synchrone I/O Aufrufe (Dateien, Netzwerk, Internet), z.B. Abfragen einer externen API die langsam reagiert
- Operationen mit hohem RAM-Verbrauch (Bilder resizen, erzeugen, bearbeiten u.s.w)
Eher selten sind algorithmische Probleme bei Plugins Grund für Verlangsamungen. Natürlich kannst du auch bestimmte Dinge in einem Plugin ausrechnen - meist sind die Probleme allerdings mathematisch so einfach, dass du kaum polnomielle, geschweige denn exponentielle oder nicht-elementare Laufzeit hinbekommst.
Es gibt also ein paar "red flags", die man schon bei der Beschreibung des Plugins sehen kann, um Anschließend zu prüfen, ob es diese Aufgaben auch anständig erledigt (s.o.).
Konkret kann man z.B. das Slow-Query log überwachen sowie grundsätzlich auch mit geeigneten Tools die I/O Aktivitäten des Servers checken. Zuguterletzt bleibt natürlich immer noch eine Analyse des Quellcodes des Plugins.
Eine Faustregel gibt es allerdings nicht. Wenn du nach einem einfachen Weg suchst, um auf den ersten Blick zu sagen, ob ein Plugin effizient ist, oder nicht, dann muss ich dich enttäuschen, denn den gibt es nicht. Dinge wie Paketgröße, Anzahl an Dateien o.ä. sind absolut nichtssagend.
Dies betrifft nun zunächst die Performance des Servers. Plugins, die sich auch im Frontend einklinken können ggf. noch schlecht optimiert sein in bezug auf den Browser. Liefern sie z.B. unnötigerweise eigene CSS Dateien mit, die separat geladen werden müssen, anstatt LESS mitzuliefern, welches nicht nur besser wartbar ist und sich besser in den Stil einpassen lässt, sondern auch in eine einzige Datei gepackt wird, so ist natürlich auch das ein Malus, wenn auch ein wesentlich kleinerer als z.B. Slow-Queries, welche deinen Server ganz schön ins schwitzen bringen können. Andere Dinge sind z.B. nicht fürs Web optimierte Grafiken (wobei hier schon dadurch, dass WCF 2.0 von Haus aus Font Awesome mitliefert zumindest schonmal die Notwendigkeit für eigene Icons reduziert wird).