![]() |
Datenbank: MS Sql • Version: 2005 • Zugriff über: ADOQuerys
MS SQL und Threading
Hallo zusammen!
Ich habe ein Programm wo mittels drei ADOQuerys aus drei Tabellen mit Daten aus einer MS SQL Datenbank geholt werden. Mein größtes Problem ist das mehr als 100 Clients das programm verwenden und somit teilweise zur selben Zeit Abfragen durchgeführt werden. Dadurch wird das ganze leider sehr langsam. Würde es was bringen wenn ich jede Query in einem eigenen Thread auslagere oder wird es dadurch vielleicht noch langsamer da dann ja 3 User pro Clients auf die DB zugreifen? Gibt es eine andere Möglichkeit dies irgendwie zu beschleunigen? Danke lg Christian |
Re: MS SQL und Threading
AM MSSQL-Server kann man die Anzahl der Worker-Threads einstellen. Dadurch müsste dein gewünschtes Verhalten automatisch geschehen.
|
Re: MS SQL und Threading
Hallo!
Danke für deine schnelle Antwort! Was genau macht das wenn man das umstellt. Wird dadurch die Performance schneller trotz der 100 Clients. Welche nachteile hat das. Danke mfg Christian |
Re: MS SQL und Threading
Hiermit gibt man vor, wieviele parallele (Abfrage-)Threads pro Instanz des Servers verwendet werden.
|
Re: MS SQL und Threading
Hallo!
Danke, jetzt weiß ich was du meinst! Ich habe nachgesehen bei meinen maximal 100 Usern ist dieser Parameter auf 101 eingestellt leider kann ich also nicht viel ändern. habe ihn auf 300 gesetzt usw. bringt leider keine messbaren Ergebnisse. Gibt es andere Möglichkeiten wie ich irgendetwas beschleunigen kann? danke Christian |
Re: MS SQL und Threading
Schonmal daran gedacht das der Server zu klein ist
|
Re: MS SQL und Threading
Zitat:
- Server ist generell zu schmalbrüstig. Hier ist vor allem der RAM-Ausbau entscheident - Dein DB-Modell ist nicht optimal bzw. es gibt viele Abfragen die von keinem definierten Index providieren - Der Clients laufen sehr oft in Sperren und werden kurzzeitig angehalten. Hier kommt eine Schwäche des MS SQL-Server < 2005 zum Tragen welcher keine Multi-Versions-Konzept unterstützt. D.h. ein rein lesender Thread kann von einer Transaktion gestoppt/blockiert werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz