L'installazione di SQL Server consente di preparare rapidamente un server, ma la configurazione di default non è ottimale. In questa sessione vediamo come preparare una macchina per SQL Server nel migliore dei modi, con un occhio alle performance e alla scalabilità.
CCI2018 - Iperconvergenza con Windows Serverwalk2talk srl
Il tread dell’iperconvergenza aumenta sempre di più sia grazie al numero sempre crescente di standard (sd* e simili) sia grazie alla presenza di soluzioni ready to go.
Ma spesso le soluzioni proposte sono chiuse e difficilmente integrabili tra loro.
Windows Server (già dalla versione 2012) ha tutto quello che serve per implementare una soluzione iperconvergente out of the box.
In questa sezione andremo ad analizzare cosa ci serve e come possiamo realizzare un semplice cluster a due nodi, senza componenti di terze parti
By Andrea Garattini e Mario Serra
Youtube: https://www.youtube.com/watch?v=jh3CJ1ns0JQ
Il Query Processor è uno dei componenti più sofisticati di un RDBMS, quello di SQL Server non fa eccezione e sono state introdotte molte novità per risolvere le Query in modo più efficiente. In questa sessione affronteremo l'argomento ripercorrendo le varie funzionalità a partire dal nuovo modello del "Cardinality Estimator", introdotto nella versione 2014, per arrivare a tutto ciò che ricade sotto il nome di "Intelligent Query Processor" tra cui le funzionalità di "Adaptive Query Processing", introdotte nella versione 2017, e le novità introdotte nella versione 2019. Il tutto senza dimenticare le funzionalità per aiutare a gestire eventuali problematiche di regressione e coadiuvato da dimostrazioni pratiche.
System Administration: migliorare le performance di Magento Community EditionMageSpecialist
Marco Giorgetti e Riccardo Tempesta partono da un presupposto molto semplice: le prestazioni in una piattaforma eCommerce sono fondamentali e quindi è necessario capire quali siano gli indici più importanti da valutare per le proprie esigenze e cosa serva per migliorarli. Per questo propongono un intervento che va al nocciolo della questione, aggiornato con le ultime novità:
- Magento è comunemente considerato “pesante”. È proprio vero?
- Meccanismi built-in di cache
- Full-page cache
- Memcached, Xcacche, Redis
- PHP APC
- Esempi pratici
System Administration: Migliorare le performance di Magento CEMageSpecialist
- Perché Magento è comunemente considerato “pesante”
- Meccanismi built-in di cache
- Full-page cache
- Il database
- Ambiente server
- Memcached
- PHP APC
- Tuning MySQL
- Esempi pratici (demo e comparazioni)
CCI2018 - Iperconvergenza con Windows Serverwalk2talk srl
Il tread dell’iperconvergenza aumenta sempre di più sia grazie al numero sempre crescente di standard (sd* e simili) sia grazie alla presenza di soluzioni ready to go.
Ma spesso le soluzioni proposte sono chiuse e difficilmente integrabili tra loro.
Windows Server (già dalla versione 2012) ha tutto quello che serve per implementare una soluzione iperconvergente out of the box.
In questa sezione andremo ad analizzare cosa ci serve e come possiamo realizzare un semplice cluster a due nodi, senza componenti di terze parti
By Andrea Garattini e Mario Serra
Youtube: https://www.youtube.com/watch?v=jh3CJ1ns0JQ
Il Query Processor è uno dei componenti più sofisticati di un RDBMS, quello di SQL Server non fa eccezione e sono state introdotte molte novità per risolvere le Query in modo più efficiente. In questa sessione affronteremo l'argomento ripercorrendo le varie funzionalità a partire dal nuovo modello del "Cardinality Estimator", introdotto nella versione 2014, per arrivare a tutto ciò che ricade sotto il nome di "Intelligent Query Processor" tra cui le funzionalità di "Adaptive Query Processing", introdotte nella versione 2017, e le novità introdotte nella versione 2019. Il tutto senza dimenticare le funzionalità per aiutare a gestire eventuali problematiche di regressione e coadiuvato da dimostrazioni pratiche.
System Administration: migliorare le performance di Magento Community EditionMageSpecialist
Marco Giorgetti e Riccardo Tempesta partono da un presupposto molto semplice: le prestazioni in una piattaforma eCommerce sono fondamentali e quindi è necessario capire quali siano gli indici più importanti da valutare per le proprie esigenze e cosa serva per migliorarli. Per questo propongono un intervento che va al nocciolo della questione, aggiornato con le ultime novità:
- Magento è comunemente considerato “pesante”. È proprio vero?
- Meccanismi built-in di cache
- Full-page cache
- Memcached, Xcacche, Redis
- PHP APC
- Esempi pratici
System Administration: Migliorare le performance di Magento CEMageSpecialist
- Perché Magento è comunemente considerato “pesante”
- Meccanismi built-in di cache
- Full-page cache
- Il database
- Ambiente server
- Memcached
- PHP APC
- Tuning MySQL
- Esempi pratici (demo e comparazioni)
SQL Server Failover Cluster Instances con Azure Managed DisksGianluca Hotz
Youtube: https://www.youtube.com/watch?v=dgyXkN3FVb4
Come implementare un cluster di SQL Server AlwaysOn Failover Cluster Instances (FCI) con Azure Managed Disks.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
CCI 2019 - Exchange 2019 da 0 ad HA in 1 orawalk2talk srl
Non tutti vogliono o possono (per diversi motivi) passare al cloud. E chi non può passare… magari vuole implementare l’alta affidabilità nei sistemi on premises, anche perché a partire da Exchange 2013… non ha più costi proibitivi!
In questa sezione vedremo pass passo cosa è necessario fare per avere Exchange in alta affidabilità, partendo direttamente dall’installazione pulita dei server
By Andrea Garattini
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB
MongoDB Atlas è il servizio DBaaS (Database-as-a-Service) che ti consente distribuire, gestire e scalare un database MongoDB in ambiente cloud con pochi clic.
CCI2018 - Exchange 2019 (novità e setup)walk2talk srl
In questa sezione analizziamo le novità della nuova release di Exchange e andiamo a vedere i passi necessari al setup. Andremo anche a vedere rapidamente i prerequisiti per le coesistenze e le migrazioni dalle versioni precedenti.
By Andrea Garattini
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
In un contesto altamente concorrenziale, le aspettative dei merchant non riguardano più unicamente uptime e possibilità di scaling dei propri shop, ma dettano anche obiettivi specifici in termini di velocità di caricamento delle pagine secondo KPI prestabiliti, al di sotto dei quali far scattare allarmi e/o azioni.
Durante lo speech Marco mostrerà come configurare e utilizzare alcuni applicativi per effettuare test di carico e per analizzare i risultati ottenuti ai fini di un corretto dimensionamento dell’infrastruttura.
Analizzerà infine benchmark di casi reali, evidenziando classiche criticità di Magento e possibili soluzioni.
Global Azure BootCamp 2019 - Verona - Ottimizzazione delle VM SQL Server su A...Marco Obinu
Sessione tenuta al Global Azure BootCamp 2019, organizzato dalla community CloudGen a Verona, in cui parlo di come dimensionare ed ottimizzare le VM SQL Server su Azure IaaS come da best practices di riferimento Microsoft.
Video: https://youtu.be/Bg9aJAXvoZI
Demo: https://github.com/OmegaMadLab/GAB2019VR-Demo
System Administration: Migliorare le performance di Magento Community Editionmidimarcus
Marco Giorgetti e Riccardo Tempesta partono da un presupposto molto semplice: le prestazioni in una piattaforma eCommerce sono fondamentali e quindi è necessario capire quali siano gli indici più importanti da valutare per le proprie esigenze e cosa serva per migliorarli. Per questo propongono un intervento che va al nocciolo della questione, aggiornato con le ultime novità:
- Magento è comunemente considerato “pesante”. È proprio vero?
- Meccanismi built-in di cache
- Full-page cache
- Memcached, Xcache, Redis
- PHP APC
- Esempi pratici
SQL Server Failover Cluster Instances con Azure Managed DisksGianluca Hotz
Youtube: https://www.youtube.com/watch?v=dgyXkN3FVb4
Come implementare un cluster di SQL Server AlwaysOn Failover Cluster Instances (FCI) con Azure Managed Disks.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
Questa sessione affronta come implementare, mantenere e far evolvere soluzioni sviluppate su Azure SQL Database, attraverso l’utilizzo degli strumenti SQL Sever Management Studio e Visual Studio. Attraverso esempi e casi reali, saranno illustrate la versatilità, potenza e affidabilità del database come servizio nel cloud.
CCI 2019 - Exchange 2019 da 0 ad HA in 1 orawalk2talk srl
Non tutti vogliono o possono (per diversi motivi) passare al cloud. E chi non può passare… magari vuole implementare l’alta affidabilità nei sistemi on premises, anche perché a partire da Exchange 2013… non ha più costi proibitivi!
In questa sezione vedremo pass passo cosa è necessario fare per avere Exchange in alta affidabilità, partendo direttamente dall’installazione pulita dei server
By Andrea Garattini
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB
MongoDB Atlas è il servizio DBaaS (Database-as-a-Service) che ti consente distribuire, gestire e scalare un database MongoDB in ambiente cloud con pochi clic.
CCI2018 - Exchange 2019 (novità e setup)walk2talk srl
In questa sezione analizziamo le novità della nuova release di Exchange e andiamo a vedere i passi necessari al setup. Andremo anche a vedere rapidamente i prerequisiti per le coesistenze e le migrazioni dalle versioni precedenti.
By Andrea Garattini
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
In un contesto altamente concorrenziale, le aspettative dei merchant non riguardano più unicamente uptime e possibilità di scaling dei propri shop, ma dettano anche obiettivi specifici in termini di velocità di caricamento delle pagine secondo KPI prestabiliti, al di sotto dei quali far scattare allarmi e/o azioni.
Durante lo speech Marco mostrerà come configurare e utilizzare alcuni applicativi per effettuare test di carico e per analizzare i risultati ottenuti ai fini di un corretto dimensionamento dell’infrastruttura.
Analizzerà infine benchmark di casi reali, evidenziando classiche criticità di Magento e possibili soluzioni.
Global Azure BootCamp 2019 - Verona - Ottimizzazione delle VM SQL Server su A...Marco Obinu
Sessione tenuta al Global Azure BootCamp 2019, organizzato dalla community CloudGen a Verona, in cui parlo di come dimensionare ed ottimizzare le VM SQL Server su Azure IaaS come da best practices di riferimento Microsoft.
Video: https://youtu.be/Bg9aJAXvoZI
Demo: https://github.com/OmegaMadLab/GAB2019VR-Demo
System Administration: Migliorare le performance di Magento Community Editionmidimarcus
Marco Giorgetti e Riccardo Tempesta partono da un presupposto molto semplice: le prestazioni in una piattaforma eCommerce sono fondamentali e quindi è necessario capire quali siano gli indici più importanti da valutare per le proprie esigenze e cosa serva per migliorarli. Per questo propongono un intervento che va al nocciolo della questione, aggiornato con le ultime novità:
- Magento è comunemente considerato “pesante”. È proprio vero?
- Meccanismi built-in di cache
- Full-page cache
- Memcached, Xcache, Redis
- PHP APC
- Esempi pratici
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLPar-Tec S.p.A.
Il TechAdvisor Michelangelo Uberti fornisce una panoramica generale inerente le soluzioni di alta disponibilità con MySQL.
I punti trattati durante la presentazione sono:
- Presentazione dell’offerta Par-Tec dedicata a MySQL Enterprise
- Cause, effetti e reali esigenze di HA
- Funzionamento, benefici e limiti dei principali approcci:
- Replica di database
- Cluster attivo/passivo
- Cluster attivo/attivo: shared-nothing
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/soluzioni-di-alta-disponibilita-con-mysql
Velocizzare Joomla! con Zend Server Community EditionEnrico Zimuel
Come velocizzare l'esecuzione di Joomla! utilizzando Zend Server Community Edition.
Intervento presentato il 9 Ottobre 2010 al JoomlaDay 2010 a Verona (Italia).
4. Chi sono
• Consulente, Trainer, Speaker, Autore
• Uso SQL Server dalla versione 6.5
• Microsoft MVP, MCT
• Mentor @ SolidQ
• DBA SQL Server e VMWare admin @
Regione Marche
• Co-leader del PASS Global Italian
Virtual Chapter
http://globalitalian.sqlpass.org
6. RAID
§ Almeno RAID 1 per tutti i dischi
§ Anche il sistema operativo
§ RAID 10 per massimizzare le performance
§ Test prima di andare in produzione
§ SQLIO
§ CrystalDiskMark
7. Separare i dischi
§ Utilizzare dischi separati per:
§ File dati di SQL Server (mdf, ndf)
§ Transaction logs
§ Incluso il tempdb
§ Tempdb
§ Backups
8. Formattazione dischi
§ Il disco C: dove risiede il sistema operativo
può usare il default (4K)
§ I dischi di SQL Server (dati, log, tempdb)
dovrebbero essere formattati con cluster size
di 64K
§ Verificare che lo storage sia allineato
§ Da Windows 2008 è automatico
§ Stesse regole se stiamo preparando una VM
9. Risparmio energetico
§ Il server fisico su cui gira SQL Server o la VM
che ospita SQL Server deve avere le
impostazioni per usare la massima potenza
del processore
§ Verificare che anche il Power plan di
Windows sia impostato su High Performance
§ Tool: CPU-Z
10. Antivirus
§ Impostare le esclusioni per
§ Directory di SQL Server
§ Estensioni dei files di SQL Server
§ Mdf, ndf, ldf, bak
§ Cataloghi full-text
§ Trace files
§ SQL Audit files
§ Extended events files
11. SQL Server service accounts
§ Utilizzare un account di dominio senza
privilegi elevati
§ L’account non dovrebbe essere
amministratore del server su cui è installato
SQL Server
§ Utilizzare un account di dominio separato per
SQL Server Agent
§ Più in generale un account per ogni servizio
(SSRS, SSIS, etc)
13. Server Max Memory
§ Che cos’è:
§ Indica a SQL Server il limite di memoria da
utilizzare
§ Default:
§ 2147483647 MB
14. Server Max Memory (continua)
§ Perché modificarlo:
§ SQL Server tende ad occupare tutta la RAM
§ può diventare un problema se la memoria disponibile
diventa insufficiente per il S.O. o se ci sono altre
applicazioni in uso sul server (es. SSRS, SSIS)
§ Regola:
§ Se il server usa solo SQL Server, si può iniziare
con il 10% (o 2GB, dipende dal valore più grande)
§ Va ottimizzato in funzione dei programmi che
girano sul server (anche SSMS in RDP J)
15. Server Max Memory (continua)
§ Approfondimenti:
§ How much memory does my SQL Server actually
need?
https://goo.gl/6csFqd
§ Memory Manager Configuration changes in SQL
Server 2012
http://goo.gl/2dLJTx
16. Cost Threshold for Parallelism
§ Che cos’è
§ Indica il limite stimato, in secondi, oltre il quale il
Query Optimizer considera l’esecuzione di una
query in parallelo
§ Default: 5 secondi
§ E’ rimasto invariato da SQL Server 2005. Con
l’hardware attuale non ha più senso.
17. Cost Threshold for Parallelism (continua)
§ Perché modificarlo:
§ Per ridurre le attese (CXPACKET) dovute
all’esecuzione in parallelo
§ Alcuni dei thread eseguiti in parallelo possono
impiegare più tempo per terminare l’esecuzione e
rallentano l’intera query
§ Regola:
§ Non c’è un numero “magico”
§ Iniziare da 30 o 40 secondi ed eventualmente
tararlo misurandone l’impatto sul sistema
18. MAXDOP
§ Che cos’è
§ Indica il numero di processori utilizzati
nell’esecuzione delle query in parallelo
§ Default: 0
§ Vengono utilizzati TUTTI i processori (se SQL
Server decide di eseguire la query in parallelo)
19. MAXDOP (continua)
§ Perché modificarlo:
§ In combinazione con il parametro cost threshold
for parallelism per ridurre il valore di CXPACKET
§ Perché ce lo chiede l’applicazione (Es.
Sharepoint vuole MAXDOP=1)
§ Regola:
§ Solitamente si imposta pari al numero di core
fisici
20. MAXDOP (continua)
§ Casi particolari
§ Licensing errato
§ licenza SQL Server 200x Ent.Edition Server + CAL à
licenza SQL Server 2012 Ent. con 20 logical CPU
22. DEMO
§ MAXDOP=0
SELECT I.CustomerID, C.FirstName , ad.City
FROM Person.Contact c
JOIN Sales.Individual i ON C.ContactID = I.ContactID
JOIN Sales.CustomerAddress ca ON CA.CustomerID = I.CustomerID
JOIN Person.Address ad ON ad.AddressID = CA.AddressID
ORDER BY i.CustomerID
23. DEMO
§ MAXDOP=2
SELECT I.CustomerID, C.FirstName , ad.City
FROM Person.Contact c
JOIN Sales.Individual i ON C.ContactID = I.ContactID
JOIN Sales.CustomerAddress ca ON CA.CustomerID = I.CustomerID
JOIN Person.Address ad ON ad.AddressID = CA.AddressID
ORDER BY i.CustomerID OPTION (MAXDOP 2)
24. Backup compression
§ Che cos’è
§ Consente (SQL 2008+) di comprimere i backup
nativamente
§ Default: non compresso
§ Perché modificarlo
§ Minor tempo e spazio necessari per il backup
§ Ha un costo in termini di maggiore utilizzo di CPU
25. Instant File Initialization
§ Che cos’è
§ Inizializzazione istantanea dei files dati (mdf/ndf)
§ NON funziona per il transaction log
§ Tecnicamente è un permesso di Windows
§ Default:
§ Dipende dall’account usato per l’account di
servizio di SQL Server
§ Per default solo i membri del gruppo locale
Administrators
26. Instant File Initialization
§ Perché modificarlo:
§ Rende praticamente istantanee le operazioni di:
§ Creazione di un nuovo database o file di database
§ Autogrowth
§ Restore di un database
§ Come si modifica
§ Assegnando all’utente di servizio di SQL Server il
permesso “Perform Volume Maintenance Tasks”
nelle Local Security Policy del server
28. Configurazione del TEMPDB
§ Default: un singolo file
§ Perché non va bene:
§ Si crea contesa di accesso sulle pagine PFS e
SGAM
§ Regola:
§ Se il numero di processori logici è <= 8 à
numero di files = numero di processori logici
§ Altrimenti iniziare con 8 files e aggiungere in
multipli di 4 se c’è ancora contesa
29. Configurazione del TEMPDB (continua)
§ Regola:
§ Utilizzare la stessa dimensione per tutti i data file
§ Preallocare lo spazio
30. Configurazione del TEMPDB (continua)
§ Approfondimenti
§ Inside The Storage Engine: GAM, SGAM, PFS
and other allocation maps
http://goo.gl/2GSohV
§ Analyzing Tempdb Contention
http://goo.gl/v5n5p1
32. Trace flags
§ 1118
§ Allocazione di extent uniformi per il tempdb
§ 2371
§ Modifica la soglia usata da SQL Server (2012+)
per il ricalcolo automatico delle statistiche
33. Configurare operatori ed avvisi
§ Per tutti i messaggi di errore con severity da
17 a 25
§ Fa eccezione l’errore 825 che rientra tra gli errori
gravi, ma ha severity 16
§ Per tutti i job
34. Database maintenance
§ I piani di manutenzione sono competi, ma...
§ Non consentono un controllo “fine” delle attività
§ Esistono soluzioni (free) fatte da SQL MVPs
§ Maintenance Solution di Ola Hallengren
§ http://ola.hallengren.com
§ Minion Reindex di Jen McCown
§ http://www.midnightsql.com/Minion/
35. Management Data Warehouse
§ Consente di monitorare una o più istanze di
SQL Server
§ E’ un insieme di jobs e package SSIS
§ Può essere customizzato aggiungendo dei
data collector custom
§ Molto più complesso, ma si può aggiungere
anche un custom collector type
§ Es. http://extendedtsqlcollector.codeplex.com/ di
Gianluca Sartori b | t
40. Proprietà del database MODEL
§ Essendo il “modello”, i parametri impostati ed
il suo contenuto verranno utilizzati per i nuovi
database
§ Parametri da verificare ed ottimizzare:
§ Autogrowth; impostare in MB, non in %, con
dimensione adeguata
§ Auto close e auto shrink: OFF
§ Auto create e auto update statistics: ON
§ Recovery model: dipende J