confronto performance

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: confronto performance

Messaggio da targzeta »

ZeroUno ha scritto:...Come si fa a scoprire a quanto gira un disco?...
Cavolo, lo sai che è una bella domanda? Su internet non sembra ci sia nulla in proposito. Sembrerebbe esserci un comando chiamato sginfo, ma sul mio PC non funziona, mi dice che non riesce a leggere qualcosa che non ricordo, comunque tutta la suite sg3_utils (di cui sginfo fa parte) l'ho provata solo un secondo, magari meritava di più. Io quando ho acquistato il notebook dalla Dell l'ho personalizzato scegliendoci proprio un disco a 7200 RPM, non mi interessava tanto la durata della batteria, ho puntato di più sulla sua performance. Comunque mi sono fatto dare i dati da udev:

Codice: Seleziona tutto

$> udevadm info --name=/dev/sda --query=all
P: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
N: sda
S: disk/by-id/ata-Hitachi_HTS721080G9SA00_MPCDN7Y4GYXKPL
S: disk/by-id/scsi-SATA_Hitachi_HTS7210_MPCDN7Y4GYXKPL
S: disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
E: MAJOR=8
E: MINOR=0
E: DEVNAME=/dev/sda
E: DEVTYPE=disk
E: SUBSYSTEM=block
E: ID_ATA=1
E: ID_TYPE=disk
E: ID_BUS=ata
E: ID_MODEL=Hitachi_HTS721080G9SA00
E: ID_MODEL_ENC=Hitachi\x20HTS721080G9SA00\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
E: ID_REVISION=MC4OC1H0
E: ID_SERIAL=Hitachi_HTS721080G9SA00_MPCDN7Y4GYXKPL
E: ID_SERIAL_SHORT=MPCDN7Y4GYXKPL
E: ID_ATA_WRITE_CACHE=1
E: ID_ATA_WRITE_CACHE_ENABLED=1
E: ID_ATA_FEATURE_SET_HPA=1
E: ID_ATA_FEATURE_SET_HPA_ENABLED=1
E: ID_ATA_FEATURE_SET_PM=1
E: ID_ATA_FEATURE_SET_PM_ENABLED=1
E: ID_ATA_FEATURE_SET_SECURITY=1
E: ID_ATA_FEATURE_SET_SECURITY_ENABLED=0
E: ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=44
E: ID_ATA_FEATURE_SET_SECURITY_FROZEN=1
E: ID_ATA_FEATURE_SET_SMART=1
E: ID_ATA_FEATURE_SET_SMART_ENABLED=1
E: ID_ATA_FEATURE_SET_AAM=1
E: ID_ATA_FEATURE_SET_AAM_ENABLED=1
E: ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=128
E: ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=128
E: ID_ATA_FEATURE_SET_PUIS=1
E: ID_ATA_FEATURE_SET_PUIS_ENABLED=0
E: ID_ATA_FEATURE_SET_APM=1
E: ID_ATA_FEATURE_SET_APM_ENABLED=1
E: ID_ATA_FEATURE_SET_APM_CURRENT_VALUE=128
E: ID_ATA_DOWNLOAD_MICROCODE=1
E: ID_ATA_SATA=1
E: ID_ATA_SATA_SIGNAL_RATE_GEN1=1
E: ID_SCSI_COMPAT=SATA_Hitachi_HTS7210_MPCDN7Y4GYXKPL
E: ID_PATH=pci-0000:00:1f.2-scsi-0:0:0:0
E: ID_PART_TABLE_TYPE=dos
E: DEVLINKS=/dev/disk/by-id/ata-Hitachi_HTS721080G9SA00_MPCDN7Y4GYXKPL /dev/disk/by-id/scsi-SATA_Hitachi_HTS7210_MPCDN7Y4GYXKPL /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
ed ho cercato il modello (HTS721080G9SA00) sul sito della Hitachi. Oh, effettivamente anche sul sito dice che gira a 7200 RPM.

Ho provato anche a controllare nel BIOS, ma niente, mi dice solo la capienza.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
lablinux
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: gio 27 nov 2008, 12:23
Desktop: Gnome
Distribuzione: Debian testing
Località: Rho

Re: confronto performance

Messaggio da lablinux »

spina ha scritto:
ZeroUno ha scritto:...Come si fa a scoprire a quanto gira un disco?...
Cavolo, lo sai che è una bella domanda?
basta smontare il computer e leggerlo :D
Comunque si può sempre cercare il dettaglio del proprio hardware sul sito del costruttore.

Ciao Michele.

P.S. non per farmi gli affari tuoi, ma perché stai facendo questi test?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: confronto performance

Messaggio da ZeroUno »

portatile # udevadm info --name=/dev/sda --query=all
S: disk/by-id/ata-FUJITSU_MHY2250BH_K432T83286BE
S: disk/by-id/scsi-SATA_FUJITSU_MHY2250_K432T83286BE

5400 giri :-(

pc # udevadm info --name=/dev/sda --query=all
S: disk/by-id/ata-WDC_WD800JD-60LSA5_WD-WMAM9FF23356
S: disk/by-id/scsi-SATA_WDC_WD800JD-60L_WD-WMAM9FF23356

7200 giri


Michele, la risposta è semplice.
Ho un sitarello su un server personale fatto con un semplice pc. Lo sviluppo però lo faccio sul portatile.
Questo sito per funzionare deve inizialmente popolare un database con una gigata di dati.

Inizializzando il database mi ero accorto che il portatile (dual core a 64bit) era più lento del pc (mono core 32bit).

Inizialmente ho pensato ad un errore di disallineamento di indici (per cercare il compromesso giusto di performance in scrittura e in lettura ho fatto molti tentativi per scoprire quale avrebbe inciso realmente sulla velocità).
Poi constatato che il software, la versione e tutto il resto erano gli stessi ho cercato la causa scrivendo quì.

Il resto lo sai.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
lablinux
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: gio 27 nov 2008, 12:23
Desktop: Gnome
Distribuzione: Debian testing
Località: Rho

Re: confronto performance

Messaggio da lablinux »

ZeroUno ha scritto: Michele, la risposta è semplice.
Io mi son divertito a fare test di performance solo per il gusto di farlo, tutto qui il senso della mia domanda.

Se usi php, mi permetto di darti un paio di consigli. Usa il singolo apice per le stringhe, quello doppio interpretà quello che c'è al suo interno anche se non c'è niente da interpretare.

Codice: Seleziona tutto

<?php 
echo  '<h1>'pippo</h1>'  # non interpreta
echo "<h1>pippo</h1>" # cerca al suo interno altre variabili
?>
(il tag html è solo dimostrativo)


Nel file di configurazione, del php, puoi impostare di default la compressione dei dati, guadagni tantissimo a livello di banda, considera che i due principali colli di bottiglia per un server sono la banda e l'accesso al disco.

Oh, se vuoi fare dei test di performance, prova anche postgresql e se puoi (in base alle necessità del sito) sqlite3.
Se vuoi andare oltre potresti provare anche altri linguaggi, io sono passato da php a python usando il framework django, ti posso garantire che è un altro mondo. Puoi anche testare il più rinomato ruby on rails.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: confronto performance

Messaggio da ZeroUno »

Farò più attenzione agli apici. Considera che quando scrivo codice riguardo agli apici uso il sistema del "round robin" ;-). Una volta uso quelli singoli una volta doppi, a caso, senza mettermi a pensare. Ma in questo caso le performance non sono degradate dagli apici quanto piuttosto dall'I/O.

postgres e sqlite3 non li ho mai usati. Nel db uso l'integrità referenziale.. è supportata?
Per quanto riguarda il linguaggio non ho intenzione di spostarmi da php, primo perchè non ho tempo di imparare un nuovo linguaggio (se proprio trovo tempo per imparare un linguaggio sarà perl probabilmente, che per un sistemista è una lacuna non conoscerlo, oppure java... lo odio ma dove lavoro mi serve). Tantomeno ho tempo di riscrivere il sito; contare poi che questo sito è al momento running su free webhosting e lì c'è php e mysql.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
lablinux
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: gio 27 nov 2008, 12:23
Desktop: Gnome
Distribuzione: Debian testing
Località: Rho

Re: confronto performance

Messaggio da lablinux »

ZeroUno ha scritto: Una volta uso quelli singoli una volta doppi, a caso
i doppi apici sono obbligatori se ci metti una variabile dentro

Codice: Seleziona tutto

<?php
$nome = 'Pippo';
echo "Il tuo nome e' $nome";  #visualizza 'Il tuo nome e' Pippo'
?>
(questa volta mi sono ricordato anche i punti e vergola, che incubo)
ZeroUno ha scritto: postgres e sqlite3 non li ho mai usati. Nel db uso l'integrità referenziale.. è supportata?
Postgres è anche più "evoluto" rispetto a mysql (cosi ho letto in giro).
Sqlite3 non gestisce l'integrità referenziale, considera che è concentrato tutto in un file, non è un server db. Ma è veloce (al crescere delle richieste le performance degradano rapidamente)
ZeroUno ha scritto: è al momento running su free webhosting e lì c'è php e mysql
free webhosting? Avevo capito che avevi il server in casa tua.
ZeroUno ha scritto: se proprio trovo tempo per imparare un linguaggio sarà perl
Il perl? Sei sicuro? Sei uno sviluppatore o un programmatore?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: confronto performance

Messaggio da ZeroUno »

lablinux ha scritto:i doppi apici sono obbligatori se ci metti una variabile dentro
correggo: li uso a caso ma con criterio. Nel senso che se sono necessari ce si metto; se non sono necessari qualche volta li metto singoli qualche volta doppi senza badarci.
comunque lo stesso esempio che citi si può scrivere:
echo 'Il tuo nome e\' '.$nome;
però è un po' meno pratico.
In particolare userei i doppi apici quì anche se $nome non fosse una variabile:
echo "Il tuo nome e' pippo";
per evitare
echo 'Il tuo nome e\' pippo';

Insomma le cose da valutare sono tante, quindi quando non ho niente da valutare (echo "hello world") vado alla "do coio coio" oppure dove è più pratico per le dita (dopo la 'o' di 'echo' la scrivo con la mano destra, quindi usare i doppi apici mi è più rapido perchè cambio mano la quale ha premuto un tasto ben "due lettere fa", e quindi è più "riposata" ;-)... p.s. non sono dattilografo ).
ZeroUno ha scritto:Sqlite3 non gestisce l'integrità referenziale, considera che è concentrato tutto in un file, non è un server db. Ma è veloce (al crescere delle richieste le performance degradano rapidamente)
come si comporta sqlite3 con una tabella di 900M (5 campi di cui un autoincrement come chiave primaria, due numerici indicizzati e con integrità referenziale, un campo testo indicizzato e un campo testo non indicizzato - su quest'ultimo non vengono fatte ricerche) per un totale di 2.000.000.000 di record se non più e ricerche di tipo LIKE '%testo%'?
free webhosting? Avevo capito che avevi il server in casa tua.
ripeto, è _al momento_ su un freewebhosting e andrà sul pc di casa mia (non è scontato però che ci resti... un server in casa, anche se è silensiosissimo.. questa notte l'ho tenuto acceso vicino l'orecchio.. ed ho dormito ;-), h24 dietro adsl dhcp non è il top, soprattutto se vai in ferie a 300km di distanza per due settimane, non credo che lo posso lasciare acceso)


ZeroUno ha scritto: se proprio trovo tempo per imparare un linguaggio sarà perl
Il perl? Sei sicuro? Sei uno sviluppatore o un programmatore?
sistemista. Mi diletto a fare un sitarello web in php a scopo personale.
Un sistemista però per natura deve saper fare tutto: hardwarista, supporto per i programmatori, programmatore stesso, progrettista, networkista (dal costruire un cavo di rete alla configurazione di un firewall.. altrui), aihmé anche windowsista. Mac-chiano mi rifiuto.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Rispondi