Die optimale Hardware für einen Excel-Esel ?

Omono

Newbie
Registriert
Jan. 2017
Beiträge
1
Hallo liebes CB-Forum!

Ich arbeite im Bereich des Rechnungswesens. Da unsere Dateien auch Vergangenheitswerte enthalten sind sie teilweise mehr als 100.000 Zeilen schwer.
(Bitte keine Ratschläge nach dem Motto - So etwas sollte in einer Datenbank agbebildet werden ... )

Nun zum Punkt: Unsere PCs brauchen zum Rechnen bei "simplen Aktionen" leider eine Ewigkeit.
Simpel deshalb mit "", denn in der Datei sind zig Berechnungen, Gruppierungen und Zwischensummen etc.
enthalten, die natürlich aus einer simplen Aktion, wie einem bereits vorhandenen Zeilenblock zu kopieren
(mitsamt aller Formatierungen, Gruppierungen etc. pp) und an einer anderen Stelle einzufügen eine riesige Aktion machen.

Jetzt hab ich einmal zu Hause gearbeitet und alles funktionierte prima (z170-nvidia1080-960pro). Ein Gaming PC lässt einen halt nicht hängen, ge :)
Nun hab ich meinen Kollegen erzählt, wie schnell das bei mir zu Hause geht und da die Hardware bei uns schon länger ein
Thema ist darf ich nun einen Vorschlag für etwas Neues machen.

Mein Problem ist nur, dass ich mich zwar mit Hardware recht gut auskenne, aber nur im Gaming-Bereich und ich will mich mit mit meinem Vorschlag nicht lächerlich machen.

Ich möchte einfach einen guten und angemessenen Tipp abgeben. Daher wende ich mich an euch :-)

Ich dachte an eine kleine gute ssd, ein solides Mainboard und an einen guten Prozessor.
Nun weiss ich leider nicht genau was Excel an Hardware überhaupt nutzt.
Beim Thema Ram konnte ich nur feststellen, dass von meinen 32 gb ca-. 20% voll ausgelastet werden, mehr jedoch nicht (Excel 2016/64bit).
Welche Ram Taktrate wäre denn gut und wieviel Ram meint ihr, dass ausreichend ist?
Prozessor: Einen Kern? Mehr Kerne? => Besser ein Prozesser mit einem hohen Einzelkerntakt oder ein mehrkerner mit niedrigerem Takt? Chipsatz?

Sollte man vielleicht noch eine Grafikkarte mit hereinnehmen? Wenn ja was meint ihr wäre gut? Was ist zu viel & was zu wenig?

Mainboard?

Aktuell hab ich nen i5 mit 16gb ram. Ich kann ATM leider nicht sagen, welcher i5 es ist.

Speziell in Bezug auf Bearbeitungen in Excel hat mir google leider nicht viel ausgespuckt.

Danke!
 
Zuletzt bearbeitet:
Keine Hardware der Welt könnte die Rechnungen in einer annehmbaren Zeit ausführen. Das liegt einfach an der Programmierung von Excel... Es kommt nur auf single-core Performance an und ein 2011er i5 ist vlt 30% schneller als ein 2017er i7. Also eigentlich überhaupt nicht (wenn man bedenkt das 6 Jahre dazwischen liegen...).

Mein Tipp: Tabellen mit R bearbeiten und nicht mit Excel (nein ist keine Datenbank..).

https://de.wikipedia.org/wiki/R_(Programmiersprache)

Ist sehr einfach zu lernen, innerhalb einer Woche kannst du die Berechnungen damit machen (und sie werden mindestens 100x schneller sein).
 
Ein Kumpel hat ebenfalls mit großen Excel-Dateien zu kämpfen, ich hatte ihn vor ein paar Jahren einen Xeon mit 8 Threads, integrierter Grafik, mehreren SSDs und 8 GB RAM zusammen gestellt. Lief gut und deutlich schneller als der i5 zuvor.
Wurde kürzlich durch einen i7 mit mehr RAM, mehr SSDs ersetzt.

Am besten Du schaust mal wie die Auslastung der CPU ist beim rechnen, also einfach den Taskmanager auf Leistung stellen und starten.
Wenn alle Threads belastet werden, ist die Antwort klar, Du brauchst eine CPU mit mehr Kernen / Threads.
SSDs sind natürlich bei großen Dateien auch ein Segen.
Für eine große Grafikkarte sehe ich keinen Sinn - aber auch das kannst Du ja beobachten wie es bei euch in der Firma läuft.

edit: rein vom Gefühl her würde ich auch die Version von Excel beachten - einige kriechen ja noch mit 32-Bit Versionen rum.........

Jup, 64-Bit ist wichtig und je nach Berechnungsart auch Multikern-CPUs:
https://msdn.microsoft.com/de-de/library/office/ff700514(v=office.14).aspx
 
Zuletzt bearbeitet:
Wenn es um Hardware geht, die beruflich verwendet wird, solltest du nicht anfangen etwas selber zusammen zu bauen. Nimm ein Fertigsystem mit Vor-Ort Service (falls etwas kaputt geht).

Ich rate dir zu einer HP Z240 Workstation. Die kannst du beliebig Konfigurieren (z.B. mit i7 k für hohe Single-Core Leistung, NVMe SSD etc.) -> http://store.hp.com/GermanyStore/Promotion.mvc/GetPromotion?promotionId=R659&targetType=Products …mit der Konfig aus dem Konfigurator lässt du dir Angebote von Systwmhäusern in der Umgebung erstellen (oft günstiger als direkt über HP zu bestellen)
 
Zuletzt bearbeitet:
Hallo Liebe Community,

ich möchte das Thema gern noch mal aufgreifen und hoffe auf Eure Hilfe.

Wir planen eine neue Workstation anzuschaffen, um Microsoft Office, insbesondere Excel optimal zu nutzen. Wir erstellen Financial Models in Excel unter zusätzlicher Nutzung von VBA Modulen.

Was ist die beste Infrastruktur re/Prozessor und Speicher? Ist es besser einen Prozessor mit möglichst vielen Kernen (Intels w-Typen) oder zwei Prozessoren parallel zu nutzen? Können die Vorteile der Intel Xeon Serie genutzt werden oder sind ein i3/i5 die geeignetere Wahl? Ist es sinnvoll eine möglichst hohe Taktrate zu wählen?

Wir sind bereit bis zu 10 TEUR für die Workstation auszugeben wollen jedoch keine Hardware anschaffen, deren Fähigkeiten Excel nicht nutzen kann. D.h. wir suchen die beste Infrastruktur zur maximalen Nutzung von Excel.

Beste Grüsse,
Jan
 
Wir erstellen Financial Models in Excel unter zusätzlicher Nutzung von VBA Modulen.
Und auf was arbeitet ihr jetzt und wieviel mehr Power soll her?

Also grundsätzlich unterstützt Excel mehrere Kerne und auch HT/SMT. Der Post da oben von majusss ist falsch.
Nur wie viele Cores Excel wirklich nutzen kann weiß ich nicht.

Da du aber mittlerweile 32 Cores in einem high-end PC bekommst würde ich den Dual CPU Gedanken erstmal verwerfen.
 
Danke für Dein schnelles feedback. Du hast recht - hätte wohl eher einen neuen thread aufmachen sollen. Dual CPUs sind nicht mehr wirklich up to date ;-))

Zu unserer aktuellen Konstellation:
2xIntel Xeon E5-2637v4
64GB RAM
480GB SATA III Intel SSD MLC
NVIDIA Quadro K1200

Wieviel mehr Power wir wollen? Das beste was Excel vertragen kann, aber eben nicht mehr an Fähigkeiten, die Excel sowieso nicht nutzen kann. Wir sind eben nicht sicher, ob die aktuelle Bestückung für die neue Workstation optimal ist oder nicht "auf der einen Seite zu wenig" und auf der "anderen Seite zu viel hat". Eben Ein- oder Mehrsockellogik? Mehr oder weniger Taktfrequenz? Mehr oder weniger Kerne? Wie gesagt - gern maximale Ausbeute aber nichts nutzloses?
 
Wenn man schon ein System hat, auf dem die gewünschten Anwendungen bereits laufen, dann ist der Weg eigentlich immer der gleiche: Beobachten

Sieh dir beim vorhandenen System an, wie viel Arbeitsspeicher tatsächlich belegt ist, ob alle Threads der CPU genutzt werden oder nur wenige, ob es nennenswerte GPU-Last gibt, in wie fern der VRAM verwendet wird und wie oft es Zugriffe auf HDD/SSD gibt. Mit diesen Informationen kannst du dir dann schon mal ein recht gutes Bild davon machen, an welchen Stellen du aufstocken solltest und wo das vorhandene System eventuell bereits überdimensioniert ist.

Neben einigen Programmen aus dem Internet, die dir die gewünschten Informationen liefern können, ist der Windows Task-Manager meist schon eine gute Informationsquelle, ohne das du dafür extra Software benötigst.
 
Zuletzt bearbeitet:
Hi Nightfly,

den Taskmanager habe ich mir schon angeschaut. Allerdings nicht mit wirklichen Erkenntnissen, da Prozessor und Arbeitsspeicher in der Regel bei unter 10% laufen.

Wir haben dort Windows Server 2012 R2 Standard. Gibt es da irgendwelche Bordmittel mit denen ich die von Dir aufgeworfenen Punkte beobachten kann? Alternativ - hast Du eine Empfehlung für die von Dir angesprochene externe SW?

BG
 
Neben CPU und Arbeitsspeicher auch die Auslastung der Festplatte anschauen.

Und war die Auslastung bei Ausführung eurer Skripte wirklich nur 10% (CPU/RAM)? Dann macht eine Workstation wenig Sinn, da eure Skripte nicht viel Last erzeugen / oder optimiert werden müssen.
Wie lange dauern eure Skripte? Was verstehst du unter "Financial Models" ... Barwertberechnung, Black-Scholes Simulationen?
 
Hi Killy,

wir erstellen hochkomplexe Planmodellierungen mit integrierter Bilanz-, Ergebnis und Liquiditätsabbildung. Das ganze auf Fünf-Jahresperspektive inkl. historischer Datenmodellierung. Allein das Abbildungstool (ohne Datenaufbereitung/nur zu Simulationszwecken) hat mehr als 150.000 Formeln von denen >5.000 nicht parametrisiert und damit unterschiedlich sind.

Ich habe mal ein paar Testläufe eines Testmoduls zur Datenaufbereitung gemacht und dabei in Excel die nutzbaren Kerne pro Lauf differenziert. Hier die Ergebnisse (jeweils Dauer in sec / max CPU-Auslastung / avg CPU-Auslastung)

1 Kern: 140 sec / 10% / 5% -> CPU "5" (Knoten "0") meist >100%
4 Kerne: 75 sec / 30% / 8% -> CPU "5" (Knoten "0") oft >100%
8 Kerne: 63 sec / 50% / 15% -> CPU "5" (Knoten "0") teilweise >100%
12 Kerne: 55 sec / 90% / 20% -> CPU "5" und CPU "6" (Knoten "0") teilweise >100%
16 Kerne: 60 sec / 95% / 22% -> CPU "5" (Knoten "0") teilweise >100%

Von den 64GB Ram werden tatsächlich nur ca. 7% genutzt. Skripte sind via Collections, ADOs etc. stark optimiert und greifen nur wenn unbedingt notwendig auf Dateien zu. Dies passiert aber dennoch, so dass der SSD Zugriff/Netzwerktraffic tatsächlich häufig sehr hoch anzeigt während des Skriptdurchlaufs.

Hoffe das hilft
 
Hi JaKuE,

die Performance schaut gut aus. Wirklich mit Hardware würdest du m.E. da nicht mehr verbessern können. Jetzt gehts wirklich nochmal ans Konzept und Design eures Tools.
Sprich, ich würde hier eine Datenbank im Hintergrund implementieren. Dort kannst du dann per StoredProcedures deine Berechnungen auf dem Server laufen lassen und auch Zwischen-Ergebnisse speichern. Excel würde ich dann nur noch für Input/Output nutzen und nicht mehr für die Berechnung selbst. (wenn dann nur in sehr begrenzten Umfang)

Über StoredProcedures kannst du m.E. dann sehr gut abbilden:
-> wo der Vorgang sich in der Bilanzposition niederschlägt
-> ob ein GuV Effekt vorliegt
-> ob ein Liquiditäts-Effekt vorliegt
-> Erstellung der Schluss-Bilanz
-> Vortrag der Eröffnungsbilanz für die Folgejahre

Hier kannst du dann auch eine Reihenfolge Logik einbauen ... wenn aktuelles Jahr mit allen Szenarien/Eingabeparameter berechnet wurde, dann Folgejahr berechnen. Wenn das dann fertig ist, dann nächstes Jahr berechnen.

Ich weiß nicht in wie weit ihr aktuell immer alle Jahre gleichzeitig berechnen lasst ... kostet an der Stelle ja auch Performance, wenn sich die Anfangsbestände ja immer noch ändern.
 
Hi Killy,

nachdem ich Dir gerade in Breite das Modell niedergeschrieben hatte hat mich das Forum "diconnected" grrr...

Deshalb noch mal in Kürze - Usertool ermöglicht Simulation von Szenarien und muss w/der Abhängigkeiten immer / in jedem Fall alle inhaltlichen (Bilanz, GuV, Liqui) und zeitlichen Ebenen (60 Monate nach vorn) abbilden. Der user soll den Effekt einer einzelnen Variation in Gänze sehen. Und da bedingt bspw. eine Investition Wirkung auf Vorsteuer –> KK Inanspruchnahme/Anlagevolumen –> Zinsaufwand/-ertrag –> Ergebnis (GuV) –> Bilanz. Beispiele sind mannifaltig fortführbar.

Diese Simulations-/Input-/Outputdatei ist auch nicht mein Thema, da diese eh kompiliert auf fremden Rechnern der user läuft. Da stört mich eher der verzögerte Bildschirmaufbau beim erstmaligen „Anspringen“ eines Outputsheets. Merkt der user potential gar nicht, aber mich stört es zumal es auf Macs (OSX) nicht passiert…

Zur Performance in den Tests – ich glaube, dass die aktuelle Serverstruktur an einigen Stellen für unseren Zweck nicht notwendige features hat (die ein System immer fehleranfällig machen) und andere zur optimalen Nutzung von Excel potentiell fehlen. Zudem ist es nicht auf unsere Zwecke optimiert, so dass ich sicher stellen möchte, dass wir - wo notwendig und möglich - die beste / maximal nutzbare Kapazität haben. Genauso wichtig ist Stabilität/Robustheit. Die Verarbeitung undAufbereitung der oben genannten Userdateien läuft über Nacht und wir können es uns nicht leisten, dass Excel w/irgendeiner Leistungsgrenze abstürzt.

Berechnungsstrukturen arbeiten zur Performancesteigerung schon wo geht im Arbeitsspeicher. Jedoch müssen zur Zusammenstellung der neuen Userdateien auch viele Informationen aus deren „alten“ Dateien geholt werden und dieser Prozess bedingt nicht vermeidbare Dateizugriffe. Natürlich kann jeder Code immer weiter verbessert werden, aber unser hauptziel jetzt ist die beste Maschine für die Nutzung im beschriebenen Umfeld zu haben. Wenn uns dann ein weiteres „improvement“ gelingt umso besser ;-))

Insofern zusammengefasst -> unsere neue Workstation soll für unseren beschriebenen Einsatzzweck (i) maximal performant (ii) robust / wenig fehleranfällig bei Arbeiten in Leistungsbereichen sein und (iii) keine unnötigen weil von Excel/VBA nicht nutzbaren „Sonderlocken“ haben (die potentiell Ziel (ii) wieder gefährden. Hoffe alles nachvollziehbar.

LG
 
@ JaKuE

Bilanz-, Guv-, Cash-Planung sind mir nicht fremd. War einige Jahre Controller. ;)

Ich würde dennoch eher am Design/Technologie arbeiten. Excel hat seine natürlichen Grenzen und bei 150.000 Formelnzellen und 5.000 unterschiedliche Formeln würde ich sagen, dass die Grenze erreicht ist.
M.E. nach ist eine Umsetzung per Datenbank und Auslagerung von Business-Logik in die DB die bessere Alternative. Hier läuft es auch stabiler und bei der richtigen Umsetzung auch performanter.
Excel wäre dann nur noch für Input/Output relevant. Mit Excel Power Query kommst du dann auch bequem an die Daten aus der Datenbank wieder heran. Auch sollte sich dann alles in Excel flüssiger anfühlen, da Excel nur noch darstellen und nicht mehr so viel rechnen muss.
 
Das hatte ich nach Deinem Vorpost schon vermutet ;-))

Alles von Dir gesagte zum Modell ist korrekt. Kann ich nicht im Detail beschreiben, aber wird von uns auch wo möglich so o.ä. (hauptsächlich via SQL Abfragen) umgesetzt. Geht aber eben nicht überall. Bspw. auf Userebene , da die Datei autark arbeiten können muss (sonst müssten wir für jeden user eine eigene Excelinstanz aufsetzen / bezahlen).

Anyway, zurück vom Modellausflug ;-)) Für Tips der optimalen Rechnerkonfiguration im Kontext performantes und stabiles Excel/VBA bin ich nach wie vor sehr empfänglich. Insbesondere zum Prozessor re/Takt, mehrere CPUs parallel oder nicht, Kernnutzung etc.

Danke für den guten Austausch hier!
 
... absolut richtig und unwidersprochen!

Aber wie kommen wir mal weg davon, dass die SW (weil schlecht) auszugleichen ist? Unser Ziel ist, eine gute SW Struktur mit der besten Hardware zu bearbeiten. Unsere SW läuft schnell und stabil, aber da wir nun einen zweiten Rechner benötigen wollen wir dafür einfach die optimale Infrastruktur...
 
Anhand deiner Beobachtungen würde ich somit auf einen 12 Kerner setzen. ;)
Ihr habt m.E. nach schon ein gutes System ... dieses einfach nochmal holen und fertig.
 
Mit einem oder 2 parallelen CPUs? Und stimmt - von 12 auf 16 Kerne Nutzung scheint es eine Anomalie zu geben. Kann Excel nicht 64 Kerne parallel arbeiten lassen, so dass wir über die neuen Intel CPUs deutlich mehr "Prozessorknechte" werkeln lassen könnten?
 
Excel kann schon. Wichtiger ist aber das Reihenfolgeproblem. Wenn für die Berechnung einer Formel ein Ergebnis aus einer anderen Formel wichtig ist, kannst du die Berechnung nicht parallelisieren. Somit halt die Empfehlung zum Re-Design. Damit man mehr Potenzial entdeckt um die Geschwindigkeit wieder deutlich zu erhöhen.
 
Zurück
Oben