* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Marzo 11, 2025, 08:34:25 pm

Inserisci il nome utente, la password e la durata della sessione.

106 Visitatori, 2 Utenti

Autore Topic: Dimensionamento Server  (Letto 391 volte)

tito_livio

  • Full Member
  • ***
  • Post: 206
  • Karma: +4/-0
Dimensionamento Server
« il: Febbraio 25, 2025, 08:26:56 pm »
Ciao a tutti,
avrei una domanda da fare che con Lazarus c'entra solo marginalmente ma penso che molti di voi potrebbero consigliarmi per via della proprie esperienze di lavoro.
Dovrei fornire la configurazione per un server e per un client entrambi Windows.
Il server dovrà ospitare un server Mysql al quale si collegheranno, in rete locale, contemporaneamente circa venti client.
Su ogni client girerà un programma compilato con Lazarus che interrogherà il server, in media, ogni 30 secondi.
La query più impegnativa dovrebbe essere l'estrazione di 60 record fra 800.000.
Grazie in anticipo.

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3310
  • Karma: +12/-0
Re:Dimensionamento Server
« Risposta #1 il: Febbraio 26, 2025, 08:32:32 am »
Server - Hardware consigliato:

    CPU: Intel Xeon E3/E5, Core i7/i9 o AMD Ryzen 7/9 o EPYC con almeno 6-8 core
    RAM: Minimo 8 GB, consigliati 16 GB se il database crescerà nel tempo
    Storage: SSD da almeno 512GB (preferibile rispetto agli HDD per ridurre i tempi di accesso ai dati)
    Rete: Ethernet 1 Gbps o superiore
    Alimentazione e sicurezza: UPS per proteggere da blackout e sbalzi di tensione

Altri consigli:

    Configurazione MySQL:
        Ottimizzazione InnoDB: Assicurati che la tabella con 800.000 record utilizzi InnoDB e non MyISAM
        Buffer pool: Imposta innodb_buffer_pool_size almeno al 50-70% della RAM disponibile
        Indice sulle query più frequenti: Crea indici sulle colonne interrogate più spesso per velocizzare le ricerche
        Connessioni simultanee: Imposta max_connections a 100-200 per gestire picchi di richiesta

Devi però essere in grado di prevedere se il progetto crescerà nel tempo e se si quanto velocemente. Se dovesse crescere velocemente io rivaluterei la cosa nello scenario peggiore da qui a 5 anni.
Ieri è passato, domani è futuro, oggi è un dono...

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2973
  • Karma: +20/-4
Re:Dimensionamento Server
« Risposta #2 il: Febbraio 26, 2025, 10:02:45 am »
penso che la configurazione di xinyiman sia buona

gli unici suggerimenti che posso aggiungere sono che, come RAM, farei da 16GB in su (8GB li metterei solo se il cliente deve risparmiare)
aggiungerei inoltre un secondo HD non SSD per copie interne (ma forse anche per lo storage di MySql)
Imagination is more important than knowledge (A.Einstein)

tito_livio

  • Full Member
  • ***
  • Post: 206
  • Karma: +4/-0
Re:Dimensionamento Server
« Risposta #3 il: Febbraio 26, 2025, 01:57:11 pm »
Grazie,
a questo punto vorrei chiedervi:
-La rete attuale ha pc e server di circa dieci anni fa e ho visto che il carico di lavoro sulla cpu,sempre con il mio programma,  si divide circa al 50% fra server e client.  C'é un tipo di client da configurare o va bene un pc moderno tipo i5 con 16 GBdi ram?
-Per vari motivi devo mantenere le tabelle  in MYIsam, c'é una configurazione di MYsql che consigliate?
-Ha importanza la mainboard?

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3310
  • Karma: +12/-0
Re:Dimensionamento Server
« Risposta #4 il: Febbraio 26, 2025, 03:01:45 pm »
Prima di cambiare tutti i client, fai una prova. Cioè se regge installalo sui vecchi client. Altrimenti l'i5 dovrebbe andare bene. In realtà quello che garantisce maggiori performance è la rete. A 1GB hai delle prestazioni a 10GB ne hai altre, a 100 ancora meglio, in fibra neanche a parlarne.
Ieri è passato, domani è futuro, oggi è un dono...

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1519
  • Karma: +45/-0
  • Prima ascoltare, poi decidere
Re:Dimensionamento Server
« Risposta #5 il: Febbraio 26, 2025, 03:09:44 pm »
Ciao.

Non ho compreso il SO che vuoi usare con il server. Se Linux la configurazione HW và bene, se Windows (tipo Windows server 2022 standard) la RAM consiglio di elevarla almeno a 24 GB.

SSD da 512 GB: a mio avviso, per essere un sistema server consiglierei almeno una configurazione RAID (che dipende da ciò che vuoi focalizzare). Quindi non un solo SSD ma almeno 2 (o tre generalmente con il RAID 5). Parti da qui: https://it.wikipedia.org/wiki/RAID (a me non piace come è esposta la descrizione RAID, ma comunque è un punto di partenza).

Ci sono altre configurazioni RAID (tipo il 10), tieni presente che tutte le motherboard Intel (a maggior ragione quelle per sistemi workstation) hanno il RAID proprietario hardware a disposizione, che potrebbe anche bastare se non si vuole avere la luna.

Altre info: consiglio un sistema di bilanciamento del carico (Windows server dovrebbe averlo in dotazione, Linux non sò).

Mandi
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1519
  • Karma: +45/-0
  • Prima ascoltare, poi decidere
Re:Dimensionamento Server
« Risposta #6 il: Febbraio 26, 2025, 03:10:28 pm »
Grazie,
a questo punto vorrei chiedervi:
-La rete attuale ha pc e server di circa dieci anni fa e ho visto che il carico di lavoro sulla cpu,sempre con il mio programma,  si divide circa al 50% fra server e client.  C'é un tipo di client da configurare o va bene un pc moderno tipo i5 con 16 GBdi ram?
-Per vari motivi devo mantenere le tabelle  in MYIsam, c'é una configurazione di MYsql che consigliate?
-Ha importanza la mainboard?
Prima di cambiare tutti i client, fai una prova. Cioè se regge installalo sui vecchi client. Altrimenti l'i5 dovrebbe andare bene. In realtà quello che garantisce maggiori performance è la rete. A 1GB hai delle prestazioni a 10GB ne hai altre, a 100 ancora meglio, in fibra neanche a parlarne.

Il carico di lavoro che indichi non ha una valorizzazione (un client normale quanti "gigabit" necessità di trasferimento al secondo ?). A mio parere, se il tuo software è fatto bene e MySQL viene configurato correttamente con una ventina di client non dovresti avere alcun problema con una rete cablata da 1 Gbit.
Ovviamente vale comunque il discorso di @xinyiman.
Per ciò che riguarda un PC client, un qualsiasi PC più o meno moderno (I5, ma anche I3 ritengo) può andare bene.

E' comunque difficile fare una valutazione senza conoscere l'applicazione. Magari ci vogliono degli I9 ....  ;D ;D ;D
« Ultima modifica: Febbraio 26, 2025, 03:18:22 pm da DragoRosso »
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

tito_livio

  • Full Member
  • ***
  • Post: 206
  • Karma: +4/-0
Re:Dimensionamento Server
« Risposta #7 il: Febbraio 27, 2025, 01:04:48 am »
Ciao.

Non ho compreso il SO che vuoi usare con il server. Se Linux la configurazione HW và bene, se Windows (tipo Windows server 2022 standard) la RAM consiglio di elevarla almeno a 24 GB.

SSD da 512 GB: a mio avviso, per essere un sistema server consiglierei almeno una configurazione RAID (che dipende da ciò che vuoi focalizzare). Quindi non un solo SSD ma almeno 2 (o tre generalmente con il RAID 5). Parti da qui: https://it.wikipedia.org/wiki/RAID (a me non piace come è esposta la descrizione RAID, ma comunque è un punto di partenza).

Ci sono altre configurazioni RAID (tipo il 10), tieni presente che tutte le motherboard Intel (a maggior ragione quelle per sistemi workstation) hanno il RAID proprietario hardware a disposizione, che potrebbe anche bastare se non si vuole avere la luna.

Altre info: consiglio un sistema di bilanciamento del carico (Windows server dovrebbe averlo in dotazione, Linux non sò).

Mandi

Sia sul server che sui client il SO sarà Windows.
Mi sto orientando per una configurazione con 2 SSD e 2 HDD per le copie, con raid 1 su ogni coppia e 32 GB di RAM, senza la suddivisione del carico (penso tu ti riferisca alla soluzione di più server che formano un cluster).
Devo stare attento a mantenere la spesa se possibile.


Il carico di lavoro che indichi non ha una valorizzazione (un client normale quanti "gigabit" necessità di trasferimento al secondo ?). A mio parere, se il tuo software è fatto bene e MySQL viene configurato correttamente con una ventina di client non dovresti avere alcun problema con una rete cablata da 1 Gbit.
Ovviamente vale comunque il discorso di @xinyiman.
Per ciò che riguarda un PC client, un qualsiasi PC più o meno moderno (I5, ma anche I3 ritengo) può andare bene.

E' comunque difficile fare una valutazione senza conoscere l'applicazione. Magari ci vogliono degli I9 ....  ;D ;D ;D

Ogni client, quando interagisce col server, effettua una query che legge o salva circa 300KB e fra una lettura ed un salvataggio c'è il lavoro dell'utente che inserisce dati, legge ciò che sta a video, stampa e cose del genere.
Per questo anch'io penso che sia sufficiente una rete ad 1 Gb.
Sul fatto che il programma sia fatto bene, probabilmente sarà argomento magari di un altro Thread che vorrei fare, per adesso volevo affrontare il problema dell'hardware.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1519
  • Karma: +45/-0
  • Prima ascoltare, poi decidere
Re:Dimensionamento Server
« Risposta #8 il: Febbraio 27, 2025, 01:51:23 am »
Mi sto orientando per una configurazione con 2 SSD e 2 HDD per le copie, con raid 1 su ogni coppia ....

Per le copie (inteso come backup) consiglio un dispositivo esterno, anzi più che un consiglio è quasi un obbligo. Non ha molto senso avere una copia permanentemente in linea alimentata dallo stesso dispositivo.

Ogni client, quando interagisce col server, effettua una query che legge o salva circa 300KB e fra una lettura ed un salvataggio c'è il lavoro dell'utente che inserisce dati, legge ciò che sta a video, stampa e cose del genere.

300 KB non sono nulla per una rete. Anche se fosse un flusso continuo e ininterrotto, corrisponderebbe a meno di 5 Megabit (esagerando) di "traffico" (una interrogazione da un client ogni secondo). Venti client in continuo (ogni secondo una transazione) occuperebbero 100 Mbit saturando una rete fast ethernet, ma una giga ethernet neanche li sente.
Ovvio che una situazione simile non può oggettivamente verificarsi (se non in casi veramente sporadici), e probabilmente il problema non sarà la rete ma eventualmente il database.

Sul fatto che il programma sia fatto bene, probabilmente sarà argomento magari di un altro Thread che vorrei fare, per adesso volevo affrontare il problema dell'hardware.

Non era mia intenzione discutere sulla qualità dei programmi, volevo solo porre l'accento che l'abbinamento SW / HW è essenziale per una migliore riuscita del sistema.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2973
  • Karma: +20/-4
Re:Dimensionamento Server
« Risposta #9 il: Febbraio 27, 2025, 09:18:30 am »
Mi sto orientando per una configurazione con 2 SSD e 2 HDD per le copie, con raid 1 su ogni coppia e 32 GB di RAM, senza la suddivisione del carico (penso tu ti riferisca alla soluzione di più server che formano un cluster).
Devo stare attento a mantenere la spesa se possibile.

forse dovresti pensare anche alle copie esterne al server, in un'altra macchina e/o cloud intendo
nel senso che per essere a posto con la sicurezza informatica una copia esterna credo che serva

per mantenere la spesa potresti mettere 1 solo HDD (quindi togliere anche il raid) per le copie interne
e prevedere un pc economico in rete come copia esterna



Edit:
per ricollegarmi a quanto detto da DragoRosso (m'era sfuggito l'intervento sul backup :P), la copia è meglio esterna che interna
tuttavia la copia interna è più veloce da raggiungere e/o ripristinare in caso di necessità ed inoltre hai 2 copie
(per citare una vecchia pubblicità: due is megl' che uan :D )
« Ultima modifica: Febbraio 27, 2025, 10:58:43 am da nomorelogic »
Imagination is more important than knowledge (A.Einstein)

tito_livio

  • Full Member
  • ***
  • Post: 206
  • Karma: +4/-0
Re:Dimensionamento Server
« Risposta #10 il: Febbraio 27, 2025, 11:24:11 am »
Non era mia intenzione discutere sulla qualità dei programmi, volevo solo porre l'accento che l'abbinamento SW / HW è essenziale per una migliore riuscita del sistema.
Infatti, non pensavo che tu volessi discutere sulla qualità del programma, anche io so che certe volte una migliore soluzione software vale più, in termini di velocità, di qualunque hardware potente.
Il fatto è al livello del programma ho dei dubbi relativi anche al Lazarus ma, come ho detto, è un altro argomento.
forse dovresti pensare anche alle copie esterne al server, in un'altra macchina e/o cloud intendo
nel senso che per essere a posto con la sicurezza informatica una copia esterna credo che serva

per mantenere la spesa potresti mettere 1 solo HDD (quindi togliere anche il raid) per le copie interne
e prevedere un pc economico in rete come copia esterna

Edit:
per ricollegarmi a quanto detto da DragoRosso (m'era sfuggito l'intervento sul backup :P), la copia è meglio esterna che interna
tuttavia la copia interna è più veloce da raggiungere e/o ripristinare in caso di necessità ed inoltre hai 2 copie
(per citare una vecchia pubblicità: due is megl' che uan :D )
Pienamente d'accordo, per le copie di sicurezza mi sono fatto pure un programmino (a volte con copie diverse per ogni giorno della settimana o addirittura per ora) e faccio copie sullo stesso server, su di un pc esterno e sul cloud.
Ognuna di queste copie ha il suo perché.
Per la copia sul cloud però sorgono diverse altre difficoltà come Privacy, velocità di copia e possibilità di ripristino, a volte il cliente ha archivi molto pesanti.
Anche per questo argomento vorrei fare un altro thread.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1519
  • Karma: +45/-0
  • Prima ascoltare, poi decidere
Re:Dimensionamento Server
« Risposta #11 il: Febbraio 27, 2025, 11:43:16 am »
Attendiamo i tuoi nuovi thread.

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

 

Recenti

How To

Utenti
  • Utenti in totale: 812
  • Latest: giacal
Stats
  • Post in totale: 19581
  • Topic in totale: 2348
  • Online Today: 121
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 2
Guests: 106
Total: 108

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.