IT technologies are continuously evolving and growing, as well as their complexity. Nowadays, due to the increasing number of layers and components on which an application relies, well-written code is surely a good starting point, but it’s not enough to obtain a better service. Services' parameter configurations range from settings about available resources' usage to settings that regulate peculiar application's features: they can heavily impact application performances and create the opportunity to obtain huge performance improvements by applying the right parameters. Human expertise and experience are not enough to keep up with the high number of parameters and their possible combinations: it’s becoming impossible to predict how the behaviour of a system will change and how all parameters should be set to achieve a certain performance objective, also for experts in the field. Moreover, an additional layer of complexity is given by multiple types of workloads with different characteristics, which can lead to very different results. The objective of the thesis is to study how different parameter configurations impact SQL Server performances, the database management system solution offered by Microsoft. The study is mainly divided into assessing the service behaviour in order to set up a proper benchmark system and then analysing results coming from data gathered with benchmarks execution. Results clearly show that different parameter configurations do have a concrete impact on SQL Server performances, both on improvement and degradation. However, degradation's impact is greater than the possible improvement. Moreover, the impact is strictly linked with the type of workload: different workloads lead the service into behaving differently. At the same time, it's almost impossible to quantify the contribution of each parameter to the impact, except for a few of them and once again the impact of each parameter can be totally different based on the workload type. An effort has been put also to assess the value of gathered data showing how different metrics can be used to measure the service performances and how they can lead to different conclusions, depending on metric reliability, accuracy and meaning.
Le tecnologie legate al mondo dell'IT continuano ad evolvere e a crescere, così come la loro complessità. Oggi, a causa del continuo incremento del numero di layer e di componenti su cui le applicazioni fanno affidamento, del codice ben scritto è sicuramente un ottimo punto di partenza, ma non è abbastanza per ottenere un servizio migliore. Le possibili configurazioni di parametri spaziano da settaggi relativi all'utilizzo delle risorse disponibili, fino alla regolazione di particolari funzionalità dell'applicativo: queste possono impattare le performance delle applicazioni e creano l'opportunità di ottenere significativi miglioramenti delle performance attraverso la giusta configurazione di parametri. La conoscenza e l'esperienza umana non è abbastanza per sostenere e gestire l'alto numero di parametri e le loro possibili combinazioni: sta diventando impossibile predire come il comportamento di un sistema cambierà e come tutti i parametri dovrebbero essere configurati per ottenere un certo obiettivo, anche per i più esperti. Inoltre, un ulteriore strato di complessità è aggiunto dai molteplici tipi di carico a cui i servizi sono sottoposti e che possono portare a risultati molto diversi tra loro. L'obiettivo della tesi è studiare come diverse configurazioni di parametri impattano le performance di SQL Server, il database management system offerto da Microsoft. Lo studio è principalmente diviso nella valutazione del comportamento del servizio per configurare un sistema di benchmarking adatto e nell'analisi dei risultati ottenuti dai dati raccolti con l'esecuzione dei benchmark stessi. I risultati trovati mostrano come diverse configurazioni di parametri hanno effettivamente un concreto impatto sulle performance di SQL Server, sia in termini di miglioramento che di peggioramento. Ciononostante, l'impatto nel caso del peggioramento è più grande rispetto a quello sul miglioramento. Inoltre, l'impatto è strettamente correlato con la tipologia di carico: carichi con diverse caratteristiche portano il servizio a reagire in modo diverso. Al tempo stesso, è quasi impossibile quantificare il contributo di ciascun parametro all'impatto, fatta eccezione per pochi parametri. Inoltre, l'impatto di ciascun parametro può essere completamente diverso a seconda della tipologia di carico. Particolare attenzione è stata data all'analisi del valore dei dati raccolti, mostrando come metriche differenti possono essere utiizzate per misurare le performance del servizio e come queste possono portare a conclusioni differenti, a seconda della loro affidabilità, accuratezza e significato.
A study on parameter configurations impact on SQL Server
GENESI, LORENZO
2020/2021
Abstract
IT technologies are continuously evolving and growing, as well as their complexity. Nowadays, due to the increasing number of layers and components on which an application relies, well-written code is surely a good starting point, but it’s not enough to obtain a better service. Services' parameter configurations range from settings about available resources' usage to settings that regulate peculiar application's features: they can heavily impact application performances and create the opportunity to obtain huge performance improvements by applying the right parameters. Human expertise and experience are not enough to keep up with the high number of parameters and their possible combinations: it’s becoming impossible to predict how the behaviour of a system will change and how all parameters should be set to achieve a certain performance objective, also for experts in the field. Moreover, an additional layer of complexity is given by multiple types of workloads with different characteristics, which can lead to very different results. The objective of the thesis is to study how different parameter configurations impact SQL Server performances, the database management system solution offered by Microsoft. The study is mainly divided into assessing the service behaviour in order to set up a proper benchmark system and then analysing results coming from data gathered with benchmarks execution. Results clearly show that different parameter configurations do have a concrete impact on SQL Server performances, both on improvement and degradation. However, degradation's impact is greater than the possible improvement. Moreover, the impact is strictly linked with the type of workload: different workloads lead the service into behaving differently. At the same time, it's almost impossible to quantify the contribution of each parameter to the impact, except for a few of them and once again the impact of each parameter can be totally different based on the workload type. An effort has been put also to assess the value of gathered data showing how different metrics can be used to measure the service performances and how they can lead to different conclusions, depending on metric reliability, accuracy and meaning.File | Dimensione | Formato | |
---|---|---|---|
Genesi___Tesi.pdf
accessibile in internet solo dagli utenti autorizzati
Descrizione: Documento di tesi
Dimensione
3.28 MB
Formato
Adobe PDF
|
3.28 MB | Adobe PDF | Visualizza/Apri |
Genesi___Executive_Summary.pdf
accessibile in internet solo dagli utenti autorizzati
Descrizione: Executive Summary
Dimensione
482.67 kB
Formato
Adobe PDF
|
482.67 kB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/188902