La Fibre

Datacenter et équipements réseaux => Équipements réseaux => Serveurs NAS, serveurs et micro-serveurs => Discussion démarrée par: vivien le 29 décembre 2015 à 17:50:15

Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 29 décembre 2015 à 17:50:15
Capacité d'un processeur à gérer les flux https dernière génération sur un serveur

C'est un test bout en bout que j'ai réalisé sur plusieurs PC : J'installe Ubuntu server 15.10 64 bits (noyaux Linux 4.2) si le processeur sais gérer le 64 bits, sinon sinon j'installe  Ubuntu server 14.04.3 LTS 32bits avec le LTS Enablement Stacks qui permet d'avoir le noyau linux 4.2

Le fichier de test de 100 Mo est chargé depuis le disque dur mais toutes les machines ont au moins 512 Mo de ram => seul le premier téléchargement est limité par la vitesse du disque, les autres ne réalisant pas d’accès, car il y a un cache en RAM)

Je commence par les processeurs les plus lents du point de vue https

2001 : Intel Pentium III à 1 Ghz avec 256 Ko de cache

Un seul cœur 32bits et pas d'Hyper-Threading pour ce processeur Socket 370
flags de l'Intel Pentium III : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 mmx fxsr sse

# cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 6
model      : 8
model name   : Pentium III (Coppermine)
stepping   : 10
microcode   : 0x1
cpu MHz      : 996.782
cache size   : 256 KB
physical id   : 0
siblings   : 1
core id      : 0
cpu cores   : 1
apicid      : 0
initial apicid   : 0
fdiv_bug   : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 2
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 mmx fxsr sse
bugs      :
bogomips   : 1993.56
clflush size   : 32
cache_alignment   : 32
address sizes   : 36 bits physical, 32 bits virtual
power management:

Débit http : 94,0 Mb/s, limité par la carte réseau 100 Mb/s
$ wget -O /dev/null http://192.168.1.150/100Mo.dat --2015-12-28 21:49:23--  http://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  11,2MB/s   ds 8,5s   
2015-12-28 21:49:32 (11,2 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit https : 86,4 Mb/s
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  10,3MB/s   ds 9,3s   
2015-12-28 21:45:37 (10,3 MB/s) - «/dev/null» enregistré [100000000/100000000]

Le noyau utilisé :
# uname -a
Linux ubuntu1404 4.2.0-22-generic #27~14.04.1-Ubuntu SMP Fri Dec 18 10:58:11 UTC 2015 i686 i686 i686 GNU/Linux

La carte réseau, intégré à la carté mère Compaq (qui grée le PCI et l'AGP) :

02:08.0 Ethernet controller: Intel Corporation 82801BA/BAM/CA/CAM Ethernet Controller (rev 01)
   Subsystem: Compaq Computer Corporation EtherExpress PRO/100 VM
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
   Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 66 (2000ns min, 14000ns max), Cache Line Size: 32 bytes
   Interrupt: pin A routed to IRQ 20
   Region 0: Memory at 40900000 (32-bit, non-prefetchable) [size=4K]
   Region 1: I/O ports at 1400 [size=64]
   Capabilities: [dc] Power Management version 2
      Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
      Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
   Kernel driver in use: e100

En bonus, j'ai réalisé un test avec un vieux Linux de 2002 : Mandrake Linux 9 avec un noyau 2..194 et un https un peu ancien basé sur Apache 1.3 !

(https://lafibre.info/testdebit/ubuntu/200209_mandrake_2_4_19_apache_1_3.png)

Débit http : 94,0 Mb/s, limité par la carte réseau 100 Mb/s
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  11,2MB/s   ds 8,5s   
2015-12-28 19:55:09 (11,2 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit https : 94,0 Mb/s, limité par la carte réseau 100 Mb/s
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  11,2MB/s   ds 8,6s   
2015-12-28 19:55:20 (11,2 MB/s) - «/dev/null» enregistré [100000000/100000000]

Les débits sont meilleurs en https avec un vieux Linux, j'imagine que le chiffrement de l'époque était plus simple à réaliser.
Titre: Capacité d'un processeur à gérer les gérer le https
Posté par: vivien le 29 décembre 2015 à 18:04:35
2005 : AMD Sempron Processor 2800+ 64bits à 1,6 Ghz et 256 Ko de cache

Processeur premier prix d'AMD (équivalent du Celeron mais avec du 64bits) sur une carte pour un PC bureautique.
Un seul cœur 64bits et pas d'Hyper-Threading

flags de AMD Sempron Processor 2800+ : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good nopl extd_apicid pni lahf_lm 3dnowprefetch vmmcall

# cat /proc/cpuinfo
processor   : 0
vendor_id   : AuthenticAMD
cpu family   : 15
model      : 44
model name   : AMD Sempron(tm) Processor 2800+
stepping   : 2
cpu MHz      : 1607.372
cache size   : 256 KB
physical id   : 0
siblings   : 1
core id      : 0
cpu cores   : 1
apicid      : 0
initial apicid   : 0
fpu      : yes
fpu_exception   : yes
cpuid level   : 1
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good nopl extd_apicid pni lahf_lm 3dnowprefetch vmmcall
bugs      : fxsave_leak sysret_ss_attrs
bogomips   : 3214.74
TLB size   : 1024 4K pages
clflush size   : 64
cache_alignment   : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts ttp tm stc

Débit http, 94,0 Mb/s, limité par la carte réseau 100 Mb/s :
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  11,2MB/s   ds 8,5s   
2015-12-29 14:55:37 (11,2 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit https, 94,0 Mb/s, limité par la carte réseau 100 Mb/s :
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  11,2MB/s   ds 8,5s   
2015-12-29 14:55:49 (11,2 MB/s) - «/dev/null» enregistré [100000000/100000000]

Le noyeau utilisé :
# uname -a
Linux ubuntu1510 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

La carte réseau sur cette carte mère qui gère le PCI express et le SATA :
00:14.0 Bridge: NVIDIA Corporation MCP51 Ethernet Controller (rev a1)
   Subsystem: ASUSTeK Computer Inc. Device 81c0
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
   Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 0 (250ns min, 5000ns max)
   Interrupt: pin A routed to IRQ 20
   Region 0: Memory at febbc000 (32-bit, non-prefetchable) [size=4K]
   Region 1: I/O ports at dc00 [size=8]
   Capabilities: [44] Power Management version 2
      Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
      Status: D0 NoSoftRst- PME-Enable+ DSel=0 DScale=0 PME-
   Kernel driver in use: forcedeth
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 29 décembre 2015 à 18:16:29
2002 : Intel Celeron Northwood 2,0 Ghz 32bits avec 128 Ko de cache

C'est un processeur 32bits, basé sur l'architecture Pentium IV, avec donc un ratio performance / mhz en baisse par rapport aux précédents Celeron, basés sur l’architecture Pentium III.
Un seul cœur 32bits et pas d'Hyper-Threading.

flags du Celeron 2 Ghz : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs

# cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 15
model      : 2
model name   : Intel(R) Celeron(R) CPU 2.00GHz
stepping   : 9
cpu MHz      : 2000.198
cache size   : 128 KB
physical id   : 0
siblings   : 1
core id      : 0
cpu cores   : 1
apicid      : 0
initial apicid   : 0
fdiv_bug   : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 2
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr
bogomips   : 4000.39
clflush size   : 64
cache_alignment   : 128
address sizes   : 36 bits physical, 32 bits virtual
power management:

Débit en http : 847 Mb/s, limité en partie par la carte réseau 1 Gb/s :
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null                 100%[=====================================>]  95,37M   101MB/s   ds 0,9s   
2015-12-29 10:51:28 (101 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https : 128 Mb/s seulement :
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null                 100%[=====================================>]  95,37M  15,3MB/s   ds 6,2s   
2015-12-29 10:51:58 (15,3 MB/s) - «/dev/null» enregistré [100000000/100000000]

Le noyau utilisé :
$ uname -a
Linux ubuntu1404 4.2.0-22-generic #27~14.04.1-Ubuntu SMP Fri Dec 18 10:58:11 UTC 2015 i686 i686 i686 GNU/Linux


Les deux cartes réseau 1 Gb/s PCI à 66 Mhz intégré a cette carte mère de serveur premier prix :
Pas de PCI express à l'époque, seul des ports PCI 32bits et un port AGP est présent sur la carte mère.
Pas de Sata, c'est de l'IDE classique pour le disque dur.
01:05.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
   Subsystem: Intel Corporation Device 004e
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
   Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 32 (63750ns min), Cache Line Size: 32 bytes
   Interrupt: pin A routed to IRQ 22
   Region 0: Memory at ec000000 (32-bit, non-prefetchable) [size=128K]
   Region 2: I/O ports at a000 [size=64]
   Capabilities: [dc] Power Management version 2
      Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
      Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
   Capabilities: [e4] PCI-X non-bridge device
      Command: DPERE- ERO+ RBC=512 OST=1
      Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=16 RSCEM- 266MHz- 533MHz-
   Capabilities: [f0] MSI: Enable- Count=1/1 Maskable- 64bit+
      Address: 0000000000000000  Data: 0000
   Kernel driver in use: e1000

01:06.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
   Subsystem: Intel Corporation Device 004e
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
   Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 32 (63750ns min), Cache Line Size: 32 bytes
   Interrupt: pin A routed to IRQ 23
   Region 0: Memory at ec020000 (32-bit, non-prefetchable) [size=128K]
   Region 2: I/O ports at a400 [size=64]
   Capabilities: [dc] Power Management version 2
      Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
      Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
   Capabilities: [e4] PCI-X non-bridge device
      Command: DPERE- ERO+ RBC=512 OST=1
      Status: Dev=00:00.0 64bit- 133MHz- SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=16 RSCEM- 266MHz- 533MHz-
   Capabilities: [f0] MSI: Enable- Count=1/1 Maskable- 64bit+
      Address: 0000000000000000  Data: 0000
   Kernel driver in use: e1000

Tests réalisé avec Mandrake Linux 9 (2002) avec un noyau 2..194 et un https un peu ancien basé sur Apache 1.3 :

Débit en http : 719 Mb/s, moins bon qu'avec le noyau 4.2 :
$ wget -O /dev/null http://192.168.1.151/100Mo.dat
/dev/null           100%[=====================>]  95,37M  85,7MB/s   ds 1,1s   
2015-12-29 11:50:40 (85,7 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https : 197 Mb/s, meilleur qu'avec le noyau 4.2 :
$ wget --no-check-certificate -O /dev/null https://192.168.1.151/100Mo.dat
dev/null           100%[=====================>]  95,37M  23,5MB/s   ds 4,1s   
2015-12-29 11:52:32 (23,5 MB/s) - «/dev/null» enregistré [100000000/100000000]



Test réalisé avec Ubuntu 14.04 LTS et un noyau plus ancien : le 3.13 :
# uname -a
Linux ubuntu1404 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:02 UTC 2015 i686 i686 i686 GNU/Linux

Débit en http : 872 Mb/s, limité en partie par la carte réseau 1 Gb/s :
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null                 100%[=====================================>]  95,37M   104MB/s   ds 0,9s   
2015-12-29 10:33:28 (104 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https : 130 Mb/s seulement :
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
--2015-12-29 10:33:40--  https://192.168.1.150/100Mo.dat
/dev/null                 100%[=====================================>]  95,37M  15,5MB/s   ds 6,2s   
2015-12-29 10:33:47 (15,5 MB/s) - «/dev/null» enregistré [100000000/100000000]
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 29 décembre 2015 à 18:30:26
2005 : AMD Opteron 148 64bits à 2,2 Ghz et 1 Mo de cache

C'est un des premiers processeurs 64bits x64 pour serveur: c'est en fait un dérivé de l'Athlon 64 avec plus de cache :
Un seul cœur 64bits et pas d'Hyper-Threading

flags de l'AMD Opteron 148 : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good nopl pni lahf_lm 3dnowprefetch vmmcall

# cat /proc/cpuinfo
processor   : 0
vendor_id   : AuthenticAMD
cpu family   : 15
model      : 39
model name   : AMD Opteron(tm) Processor 148
stepping   : 1
cpu MHz      : 2200.000
cache size   : 1024 KB
physical id   : 0
siblings   : 1
core id      : 0
cpu cores   : 1
apicid      : 0
initial apicid   : 0
fpu      : yes
fpu_exception   : yes
cpuid level   : 1
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good nopl pni lahf_lm 3dnowprefetch vmmcall
bugs      : fxsave_leak sysret_ss_attrs
bogomips   : 4422.60
TLB size   : 1024 4K pages
clflush size   : 64
cache_alignment   : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

Débit en http : 940 Mb/s, limité par la carte réseau 1 Gb/s :
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M   112MB/s   ds 0,9s   
2015-12-29 13:18:31 (112 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https : 300 Mb/s
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  35,8MB/s   ds 2,7s   
2015-12-29 13:18:49 (35,8 MB/s) - «/dev/null» enregistré [100000000/100000000]

Noyau utilisé :
# uname -a
Linux ubuntu1510 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Détail de la carte réseau utilisé sur ce serveur SUN x86_64, on est sur une architecture PCI Express / sata :
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11)
   Subsystem: Oracle/SUN Device 5348
   Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
   Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 0, Cache Line Size: 32 bytes
   Interrupt: pin A routed to IRQ 19
   Region 0: Memory at fdaf0000 (64-bit, non-prefetchable) [size=64K]
   Expansion ROM at <ignored> [disabled]
   Capabilities: [48] Power Management version 2
      Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
      Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
   Capabilities: [50] Vital Product Data
      Product Name: Broadcom NetXtreme Gigabit Ethernet Controller
      Read-only fields:
         [PN] Part number: BCM95721
         [EC] Engineering changes: 106679-15
         [SN] Serial number: 0123456789
         [MN] Manufacture ID: 31 34 65 34
         [RV] Reserved: checksum bad, 28 byte(s) reserved
      Read/write fields:
         [YA] Asset tag: XYZ01234567
         [RW] Read-write area: 107 byte(s) free
      End
   Capabilities: [58] MSI: Enable- Count=1/8 Maskable- 64bit+
      Address: 6b1f012ec6e14608  Data: 4201
   Capabilities: [d0] Express (v1) Endpoint, MSI 00
      DevCap:   MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
         ExtTag+ AttnBtn- AttnInd- PwrInd- RBE- FLReset-
      DevCtl:   Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
         RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
         MaxPayload 128 bytes, MaxReadReq 512 bytes
      DevSta:   CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
      LnkCap:   Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Exit Latency L0s <2us, L1 <64us
         ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
      LnkCtl:   ASPM Disabled; RCB 64 bytes Disabled- CommClk-
         ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
      LnkSta:   Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
   Capabilities: [100 v1] Advanced Error Reporting
      UESta:   DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
      UEMsk:   DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
      UESvrt:   DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
      CESta:   RxErr- BadTLP- BadDLLP+ Rollover- Timeout- NonFatalErr-
      CEMsk:   RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
      AERCap:   First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
   Capabilities: [13c v1] Virtual Channel
      Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
      Arb:   Fixed- WRR32- WRR64- WRR128-
      Ctrl:   ArbSelect=Fixed
      Status:   InProgress-
      VC0:   Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
         Arb:   Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
         Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
         Status:   NegoPending- InProgress-
   Kernel driver in use: tg3
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 29 décembre 2015 à 18:38:31
2006 : Intel Pentium D 2,8 Ghz 64bits avec 2 x 2 Mo de cache

Le Pentium D, c'est deux pentium 4 dans la même puce.
Il y a donc deux cœurs 64bits et pas d'Hyper-Threading

flags de l'Intel Pentium D 2,8 Ghz : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl vmx cid cx16 xtpr pdcm lahf_lm tpr_shadow

# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 6
model name : Intel(R) Pentium(R) D CPU 2.80GHz
stepping : 2
microcode : 0xd
cpu MHz : 2792.931
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl vmx cid cx16 xtpr pdcm lahf_lm tpr_shadow
bugs :
bogomips : 5585.86
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 6
model name : Intel(R) Pentium(R) D CPU 2.80GHz
stepping : 2
microcode : 0xd
cpu MHz : 2792.931
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl vmx cid cx16 xtpr pdcm lahf_lm tpr_shadow
bugs :
bogomips : 5585.86
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:

Débit en http avec un seul cœur : 940 Mb/s, limité par la carte réseau 1 Gb/s :
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null               100%[===============================>]  95,37M   112MB/s   ds 0,8s
2015-12-29 15:44:28 (112 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https avec un seul cœur : 316 Mb/s :
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null               100%[===============================>]  95,37M  38,7MB/s   ds 2,5s
2015-12-29 15:45:09 (37,7 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https avec 2 connexions https, donc en utilisant les deux cœurs du Pentium D : 632 Mb/s :
(https://lafibre.info/testdebit/ubuntu/201512_test_perf_https_pentium_d_ubuntu_1510.png)

Le noyau utilisé :
# uname -a
Linux ubuntu1510 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Les deux cartes réseaux 1Gb/s intégrées dans ce serveur Hewlett-Packard :
05:04.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5714 Gigabit Ethernet (rev a3)
Subsystem: Hewlett-Packard Company NC324i PCIe Dual Port Gigabit Server Adapter
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (16000ns min), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 27
Region 0: Memory at fdff0000 (64-bit, non-prefetchable) [size=64K]
Region 2: Memory at fdfe0000 (64-bit, non-prefetchable) [size=64K]
Expansion ROM at <ignored> [disabled]
Capabilities: [40] PCI-X non-bridge device
Command: DPERE- ERO- RBC=512 OST=1
Status: Dev=05:04.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=16 RSCEM- 266MHz- 533MHz-
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable+ DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Product Name: HP NC324i Dual Port PCI-E Gigabit Adapter
Read-only fields:
[PN] Part number: N/A
[EC] Engineering changes: A0
[SN] Serial number: 0123456789
[MN] Manufacture ID: 31 30 33 43
[RV] Reserved: checksum good, 45 byte(s) reserved
Read/write fields:
[YA] Asset tag: XYZ01234567
[RW] Read-write area: 107 byte(s) free
End
Capabilities: [58] MSI: Enable+ Count=1/8 Maskable- 64bit+
Address: 00000000fee0200c  Data: 4162
Kernel driver in use: tg3
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 29 décembre 2015 à 18:58:24
2007 : Intel Xeon E5430 64bits 2.66GHz et 12 Mo de cache

Il y a 4 cœurs 64bits et pas d'Hyper-Threading

flags de l'Intel Xeon E5430 : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority

processor   : 3
vendor_id   : GenuineIntel
cpu family   : 6
model      : 23
model name   : Intel(R) Xeon(R) CPU           E5430  @ 2.66GHz
stepping   : 6
microcode   : 0x60b
cpu MHz      : 1992.000
cache size   : 6144 KB
physical id   : 0
siblings   : 4
core id      : 3
cpu cores   : 4
apicid      : 3
initial apicid   : 3
fpu      : yes
fpu_exception   : yes
cpuid level   : 10
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dtherm tpr_shadow vnmi flexpriority
bugs      :
bogomips   : 5319.94
clflush size   : 64
cache_alignment   : 64
address sizes   : 38 bits physical, 48 bits virtual
power management:

Débit en http avec un seul cœur : 940 Mb/s, limité par la carte réseau 1 Gb/s :
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M   112MB/s   ds 0,8s   
2015-12-29 16:31:20 (112 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https avec un seul cœur : 940 Mb/s, limité par la carte réseau 1 Gb/s :
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M   112MB/s   ds 0,9s   
2015-12-29 16:32:20 (112 MB/s) - «/dev/null» enregistré [100000000/100000000]

J'avais réalisé des test avec une carte 10 Gb/s de prêt et on arrivait à saturer le lien 10 Gb/s en https, à condition d'avoir au moins 4 connexions TCP, pour utiliser les 4 cœurs du processeur.

Noyau utilisé :

# uname -a
Linux ubuntu1510 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Le lspci impressionnant de ce serveur IBM qui intègre des disques SAS :
# lspci
00:00.0 Host bridge: Intel Corporation 5000X Chipset Memory Controller Hub (rev 31)
00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev 31)
00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev 31)
00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev 31)
00:05.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 5 (rev 31)
00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 6 (rev 31)
00:07.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 7 (rev 31)
00:08.0 System peripheral: Intel Corporation 5000 Series Chipset DMA Engine (rev 31)
00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 31)
00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 31)
00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 31)
00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 31)
00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 31)
00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 31)
00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 31)
00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
00:1d.0 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)
00:1d.1 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)
00:1d.2 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)
00:1d.7 USB controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)
00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09)
01:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] ES1000 (rev 02)
02:00.0 RAID bus controller: Adaptec AAC-RAID (Rocket) (rev 02)
03:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
05:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)
06:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
10:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)
10:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)
11:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)
11:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01)

Zoom sur les 2 cartes réseau intégrée à ce serveur, qui ont chacune leur propre bus PCI-X dédié :
03:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3) (prog-if 00 [Normal decode])
   Flags: bus master, fast devsel, latency 0
   Bus: primary=03, secondary=04, subordinate=04, sec-latency=0
   Memory behind bridge: c7000000-caefffff
   Capabilities: [60] Express PCI-Express to PCI/PCI-X Bridge, MSI 00
   Capabilities: [90] PCI-X bridge device
   Capabilities: [b0] Power Management version 2
   Capabilities: [100] Advanced Error Reporting
   Capabilities: [14c] Power Budgeting <?>
   Capabilities: [160] Device Serial Number 00-1a-64-ff-fe-98-a9-92

04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
   Subsystem: IBM Device 0342
   Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 26
   Memory at c8000000 (64-bit, non-prefetchable) [size=32M]
   Capabilities: [40] PCI-X non-bridge device
   Capabilities: [48] Power Management version 2
   Capabilities: [50] Vital Product Data
   Capabilities: [58] MSI: Enable+ Count=1/1 Maskable- 64bit+
   Kernel driver in use: bnx2

05:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3) (prog-if 00 [Normal decode])
   Flags: bus master, fast devsel, latency 0
   Bus: primary=05, secondary=06, subordinate=06, sec-latency=0
   Memory behind bridge: cd000000-cfffffff
   Capabilities: [60] Express PCI-Express to PCI/PCI-X Bridge, MSI 00
   Capabilities: [90] PCI-X bridge device
   Capabilities: [b0] Power Management version 2
   Capabilities: [100] Advanced Error Reporting
   Capabilities: [14c] Power Budgeting <?>
   Capabilities: [160] Device Serial Number 00-1a-64-ff-fe-98-a9-94

06:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
   Subsystem: IBM Device 0342
   Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 16
   Memory at ce000000 (64-bit, non-prefetchable) [size=32M]
   Capabilities: [40] PCI-X non-bridge device
   Capabilities: [48] Power Management version 2
   Capabilities: [50] Vital Product Data
   Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit+
   Kernel driver in use: bnx2

Les détails de la première carte Ethernet avec acpi -vv :
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
   Subsystem: IBM Device 0342
   Control: I/O- Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
   Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 64 (16000ns min), Cache Line Size: 64 bytes
   Interrupt: pin A routed to IRQ 26
   Region 0: Memory at c8000000 (64-bit, non-prefetchable) [size=32M]
   Capabilities: [40] PCI-X non-bridge device
      Command: DPERE- ERO- RBC=512 OST=4
      Status: Dev=04:00.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=512 DMOST=8 DMCRS=32 RSCEM- 266MHz- 533MHz-
   Capabilities: [48] Power Management version 2
      Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
      Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
   Capabilities: [50] Vital Product Data
      Product Name: Broadcom NetXtreme II Ethernet Controller
      Read-only fields:
         [PN] Part number: BCM95706A0
         [EC] Engineering changes: 220197-2
         [SN] Serial number: 0123456789
         [MN] Manufacture ID: 31 34 65 34
         [RV] Reserved: checksum bad, 30 byte(s) reserved
      End
   Capabilities: [58] MSI: Enable+ Count=1/1 Maskable- 64bit+
      Address: 00000000fee0200c  Data: 4122
   Kernel driver in use: bnx2
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 29 décembre 2015 à 19:07:23
2012 : Intel Xeon E5-1410 à 2.80GHz et 10 Mo de cache niveau 3

Il y a 4 cœurs 64bits Hyper-Threading

flags   de l'Intel Xeon E5-1410 : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt

processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-1410 0 @ 2.80GHz
stepping : 7
microcode : 0x710
cpu MHz : 1222.484
cache size : 10240 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt
bugs :
bogomips : 5599.97
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

Je n'ai plus les tests réalisé avant la mise en prod, mais on a 10 Gb/s en http comme en https, en utilisent un seul cœur !

On arrive à  avoir 10 Gb/s sur une seule connexion https !



# lspci
00:00.0 Host bridge: Intel Corporation Xeon E5/Core i7 DMI2 (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 1a (rev 07)
00:03.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode (rev 07)
00:05.0 System peripheral: Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management (rev 07)
00:05.2 System peripheral: Intel Corporation Xeon E5/Core i7 Control Status and Global Errors (rev 07)
00:11.0 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port (rev 05)
00:16.0 Communication controller: Intel Corporation C600/X79 series chipset MEI Controller #1 (rev 05)
00:16.1 Communication controller: Intel Corporation C600/X79 series chipset MEI Controller #2 (rev 05)
00:1a.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Root Port 1 (rev b5)
00:1c.4 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Root Port 5 (rev b5)
00:1c.7 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #1 (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C600/X79 series chipset LPC Controller (rev 05)
00:1f.2 RAID bus controller: Intel Corporation C600/X79 series chipset SATA RAID Controller (rev 05)
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe
03:00.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe Switch [PS]
04:00.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe Switch [PS]
04:01.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe Switch [PS]
05:00.0 PCI bridge: Renesas Technology Corp. SH7757 PCIe-PCI Bridge [PPB]
06:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2
08:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
3f:08.0 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link 0 (rev 07)
3f:09.0 System peripheral: Intel Corporation Xeon E5/Core i7 QPI Link 1 (rev 07)
3f:0a.0 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 0 (rev 07)
3f:0a.1 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 1 (rev 07)
3f:0a.2 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 2 (rev 07)
3f:0a.3 System peripheral: Intel Corporation Xeon E5/Core i7 Power Control Unit 3 (rev 07)
3f:0b.0 System peripheral: Intel Corporation Xeon E5/Core i7 Interrupt Control Registers (rev 07)
3f:0b.3 System peripheral: Intel Corporation Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers (rev 07)
3f:0c.0 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 07)
3f:0c.1 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 07)
3f:0c.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0 (rev 07)
3f:0c.7 System peripheral: Intel Corporation Xeon E5/Core i7 System Address Decoder (rev 07)
3f:0d.0 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 07)
3f:0d.1 System peripheral: Intel Corporation Xeon E5/Core i7 Unicast Register 0 (rev 07)
3f:0d.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1 (rev 07)
3f:0e.0 System peripheral: Intel Corporation Xeon E5/Core i7 Processor Home Agent (rev 07)
3f:0e.1 Performance counters: Intel Corporation Xeon E5/Core i7 Processor Home Agent Performance Monitoring (rev 07)
3f:0f.0 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Registers (rev 07)
3f:0f.1 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller RAS Registers (rev 07)
3f:0f.2 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0 (rev 07)
3f:0f.3 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1 (rev 07)
3f:0f.4 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2 (rev 07)
3f:0f.5 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3 (rev 07)
3f:0f.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4 (rev 07)
3f:10.0 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0 (rev 07)
3f:10.1 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1 (rev 07)
3f:10.2 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0 (rev 07)
3f:10.3 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1 (rev 07)
3f:10.5 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3 (rev 07)
3f:10.6 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2 (rev 07)
3f:10.7 System peripheral: Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3 (rev 07)
3f:11.0 System peripheral: Intel Corporation Xeon E5/Core i7 DDRIO (rev 07)
3f:13.0 System peripheral: Intel Corporation Xeon E5/Core i7 R2PCIe (rev 07)
3f:13.1 Performance counters: Intel Corporation Xeon E5/Core i7 Ring to PCI Express Performance Monitor (rev 07)
3f:13.4 Performance counters: Intel Corporation Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers (rev 07)
3f:13.5 Performance counters: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor (rev 07)
3f:13.6 System peripheral: Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor (rev 07)

La carte réseau Intel 10-Gigabit X540-T1 avec un port 10Gb/s cuivre, insérée dans un slot PCI Express 8x :
08:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
Subsystem: Intel Corporation Ethernet Converged Network Adapter X540-T1
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 32
Region 0: Memory at d9000000 (64-bit, prefetchable) [size=2M]
Region 4: Memory at d93fc000 (64-bit, prefetchable) [size=16K]
Expansion ROM at dc000000 [disabled] [size=512K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Address: 0000000000000000  Data: 0000
Masking: 00000000  Pending: 00000000
Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00002000
Capabilities: [a0] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
DevCtl: Report errors: Correctable- Non-Fatal+ Fatal+ Unsupported+
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v2] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt+ UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr+ BadTLP+ BadDLLP+ Rollover+ Timeout+ NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Device Serial Number a0-36-9f-ff-ff-31-50-6e
Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
ARICap: MFVC- ACS-, Next Function: 0
ARICtl: MFVC- ACS-, Function Group: 0
Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
IOVCap: Migration-, Interrupt Message Number: 000
IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
IOVSta: Migration-
Initial VFs: 64, Total VFs: 64, Number of VFs: 64, Function Dependency Link: 00
VF offset: 128, stride: 2, Device ID: 1515
Supported Page Size: 00000553, System Page Size: 00000001
Region 0: Memory at 00000000dc080000 (64-bit, non-prefetchable)
Region 3: Memory at 00000000dc180000 (64-bit, non-prefetchable)
VF Migration: offset: 00000000, BIR: 0
Capabilities: [1d0 v1] Access Control Services
ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
Kernel driver in use: ixgbe
Titre: Capacité d'un processeur à gérer le https
Posté par: hwti le 29 décembre 2015 à 21:06:52
Il serait intéressant de noter les ciphers utilisés.
Avec "curl -v https://www.google.fr", on a par exemple "SSL connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256".
Les deux outils n'utilisent pas forcèment la même lib SSL, sur Fedora curl utilise OpenSSL.
Si wget ne fait rien de spécifique, on peut obtenir l'information avec "openssl s_client -connect host:port | grep Cipher".

Sur le Xeon E5-1410 (qui au passage doit probablement être à 3,2GHz pendant le test), AES-NI doit beaucoup aider.
Quand on voit https://calomel.org/aesni_ssl_performance.html, ça a encore progressé avec les générations suivantes de CPU.
Titre: Capacité d'un processeur à gérer le https
Posté par: corrector le 30 décembre 2015 à 04:29:48
$ ./apps/openssl/openssl speed -elapsed -evp aes-128-cbc


Je ne comprends pas, les mesures sont faites en SHA1?
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 30 décembre 2015 à 11:58:05
Pour Ubuntu 15.10 avec Apache 2.4.12

Voila : SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256

C'est une installation par défaut d'Ubuntu server 15.10, suivit d'une mise à jour et installation d'Apache 2.4 via apt install apache2, activation du site par défault en ssl avec a2ensite default-ssl, activation du ssl dans Apache2.4 : a2enmod ssl et téléchargement du fichier de 100 Mo dans le dossier par défaut wget -O /var/www/html/100Mo.dat http://1.testdebit.info/fichiers/100Mo.dat

Le certificat est bien sur auto-signé :
$ curl -v https://192.168.1.150/100Mo.dat
*   Trying 192.168.1.150...
* Connected to 192.168.1.150 (192.168.1.150) port 443 (#0)
* found 187 certificates in /etc/ssl/certs/ca-certificates.crt
* found 758 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
* server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
* Closing connection 0
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.


Exception pour le Xeon E5-1410 qui a un vrai certificat SSL et une conf expliquée dans : Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples (https://lafibre.info/cryptographie/tuto-https/)

SSL connection using TLS1.2 / ECDHE_RSA_AES_256_GCM_SHA384
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 30 décembre 2015 à 17:19:20
Mandrake Linux 9.0 (septembre 2002) avec Apache 1.3.26

Voila : SSL connection using TLS1.0 / RSA_3DES_EDE_CBC_SHA1

C'est une installation par défaut de Mandrake Linux 9.0 sans interface graphique et avec Apache.
Pas besoin d'activer le SSL, c'est déjà le cas dans la conf de base !

$ curl -v https://192.168.1.150/100Mo.dat
*   Trying 192.168.1.150...
* Connected to 192.168.1.150 (192.168.1.150) port 443 (#0)
* found 187 certificates in /etc/ssl/certs/ca-certificates.crt
* found 758 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.0 / RSA_3DES_EDE_CBC_SHA1
* server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
* Closing connection 0
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
Titre: Capacité d'un processeur à gérer le https
Posté par: corrector le 30 décembre 2015 à 17:25:17
Je parlais des mesures de https://calomel.org/ avec l'option "speed". Je comprends pas ce qu'elle fait.
Titre: Capacité d'un processeur à gérer les gérer le https
Posté par: BadMax le 30 décembre 2015 à 18:25:55
2005 : AMD Sempron Processor 2800+ 64bits à 1,6 Ghz et 256 Ko de cache

Processeur premier prix d'AMD (équivalent du Celeron mais avec du 64bits) sur une carte pour un PC bureautique.
Un seul cœur 64bits et pas d'Hyper-Threading

flags de AMD Sempron Processor 2800+ : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good nopl extd_apicid pni lahf_lm 3dnowprefetch vmmcall


J'ai ce "papi" sous FreeNAS pour de vieilles sauvegardes : il tient les 200Mb/s en SSH+ZFS Send.

Quand il aura fini, je te fais un test https.
Titre: Capacité d'un processeur à gérer le https
Posté par: hwti le 30 décembre 2015 à 18:51:32
Je parlais des mesures de https://calomel.org/ avec l'option "speed". Je comprends pas ce qu'elle fait.
Quand on fait "openssl speed -elapsed -evp aes-128-cbc", on ne teste que le chiffrement AES-CBC.
On peut aussi faire "openssl speed -elapsed -evp sha1".
Pour le SSL (*-AES-128-CBC-SHA1), les deux opérations sont effectuées, le temps total est probablement légèrement inférieur à la somme des deux (le SHA1 travaille sur des données déjà dans le cache).

Mais avec "openssl speed -elasped -evp aes-128-gcm", on fait presque tout ce qui est fait en SSL pour *-AES-128-GCM-SHA256 (l'AES-GCM assure le chiffrement et l'intégrité du message, donc il n'y a pas besoin de faire un hash sur les données).
Titre: Capacité d'un processeur à gérer le https
Posté par: corrector le 30 décembre 2015 à 18:56:30
Voilà donc le test est biaisé en faveur de *-CBC.

Ridicule!

En dehors du chiffrement du disque et de Tor, qui va utiliser le chiffrement seul?
Titre: Capacité d'un processeur à gérer le https
Posté par: hwti le 30 décembre 2015 à 19:40:35
Sur les processeurs récents, AES-GCM est bien plus rapide que AES-CBC (même sans faire le SHA1 derrière), donc pour le SSL la question ne se pose pas.
Titre: Capacité d'un processeur à gérer le https
Posté par: Marin le 30 décembre 2015 à 19:41:33
En sachant que SHA (-1 et -256) a commencé à être accéléré (https://software.intel.com/en-us/isa-extensions/intel-sha) matériellement en x86 sur les Intel très récents, mais que ça ne concerne que les Xeon (gamme serveurs).

En dehors [..] de Tor, qui va utiliser le chiffrement seul?

La crypto asymétrique consomme bien plus qu'AES dans Tor (et l'utilisation qui en est faîte passe par l'appel de fonctions de hachage à de multiple niveaux).
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 30 décembre 2015 à 22:12:37
Voici les résultat sur un NUC Intel d'entrée de gamme (c'est un Atom dual core 64bits, nommé Celeron)
Il est venudu 100€ (processeur + carte mère incluant carte vidéo, WiFi et Ethenret + boitier)
Il faut rajouter la Ram (1 slot et 8 Go max) et le disque dur pour avoir un PC complet.

2013 : Intel Celeron N2820 @2.13GHz avec 1 Mo de cahce

C'est un Celeron qui si il sortait aujourd'hui s’appellerait Atom, car il est basé sur l'architecture Atom.
Il y a donc deux cœurs 64bits et pas d'Hyper-Threading

flags    du Celeron N2820 @2.13GHz (il y en a beaucoup mais AES n'est pas présent) : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms

# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 55
model name : Intel(R) Celeron(R) CPU  N2820  @ 2.13GHz
stepping : 3
microcode : 0x324
cpu MHz : 2399.400
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bugs :
bogomips : 4262.40
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 55
model name : Intel(R) Celeron(R) CPU  N2820  @ 2.13GHz
stepping : 3
microcode : 0x324
cpu MHz : 2399.400
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bugs :
bogomips : 4262.40
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:


Débit en http avec un seul cœur : 940 Mb/s, limité par la carte réseau 1 Gb/s :
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M   112MB/s   ds 0,8s   
2015-12-30 14:14:05 (112 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en https avec un seul cœur : 636 Mb/s :
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null           100%[=====================>]  95,37M  76,6MB/s   ds 1,2s   
2015-12-30 14:14:36 (76,6 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit en http avec 2 connexions https, utilisant les 2 cœurs : 932 Mb/s, limité par la carte réseau 1 Gb/s :
(https://lafibre.info/testdebit/ubuntu/201512_test_perf_https_celeron_N2820_ubuntu_1510.png)

Noyau utilisé :
# uname -a
Linux ubuntu1510 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linu

LSPCI :
# lspci
00:00.0 Host bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0c)
00:13.0 SATA controller: Intel Corporation Atom Processor E3800 Series SATA AHCI Controller (rev 0c)
00:14.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB xHCI (rev 0c)
00:1a.0 Encryption controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine (rev 0c)
00:1b.0 Audio device: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 0c)
00:1c.0 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1 (rev 0c)
00:1c.1 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 2 (rev 0c)
00:1c.2 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 3 (rev 0c)
00:1c.3 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 4 (rev 0c)
00:1f.0 ISA bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit (rev 0c)
00:1f.3 SMBus: Intel Corporation Atom Processor E3800 Series SMBus Controller (rev 0c)
02:00.0 Network controller: Intel Corporation Wireless 7260 (rev 73)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

Détail de la carte réseau intégrée à la carte mère Intel : Vous avez bien lu : Intel met des chips Realtek sur sa carte mére, alors qu'ils ont des produits concurrents (Intel Pro 1000) !
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
Subsystem: Intel Corporation Device 2055
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 89
Region 0: I/O ports at e000 [size=256]
Region 2: Memory at d0604000 (64-bit, non-prefetchable) [size=4K]
Region 4: Memory at d0600000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee0100c  Data: 41c1
Capabilities: [70] Express (v2) Endpoint, MSI 01
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 4096 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via message/WAKE#
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis+, LTR+, OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00000800
Capabilities: [d0] Vital Product Data
No end tag found
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr+ BadTLP- BadDLLP+ Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Capabilities: [160 v1] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [170 v1] Latency Tolerance Reporting
Max snoop latency: 71680ns
Max no snoop latency: 71680ns
Kernel driver in use: r8169
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 30 décembre 2015 à 22:21:12
2001 : Intel Pentium 4 Willamette à 1,5 Ghz 32bits avec 256 Ko de cache

C'est un des processeurs les plus catastrophiques d'Intel : Le Pentium III à seulement 1 ghz fait aussi bien.
Alors que la pub promettait un gain jusqu’à 100% ramené a une fréquence d'horloge identique entre Pentium IV et Pentium III.

flags du Pentium 4 Willamette à 1,5 Ghz : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pebs bts

# cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 15
model      : 1
model name   : Intel(R) Pentium(R) 4 CPU 1.50GHz
stepping   : 2
microcode   : 0x28
cpu MHz      : 1495.276
cache size   : 256 KB
physical id   : 0
siblings   : 1
core id      : 0
cpu cores   : 1
apicid      : 0
initial apicid   : 0
fdiv_bug   : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 2
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pebs bts
bugs      :
bogomips   : 2990.55
clflush size   : 64
cache_alignment   : 128
address sizes   : 36 bits physical, 32 bits virtual
power management:


Débit http : 468 Mb/s, limité par le bus PCI (carte réseau 1Gb/s rajoutée sur le bus PCI 32bits bien que la carte mère propose du PCI 64bits)
$ wget -O /dev/null http://192.168.1.150/100Mo.dat
/dev/null                       100%[========================================================>]  95,37M  56,4MB/s   ds 1,7s   
2015-12-30 21:00:22 (56,4 MB/s) - «/dev/null» enregistré [100000000/100000000]

Débit https : 91,4 Mb/s, limité par le processeur
$ wget --no-check-certificate -O /dev/null https://192.168.1.150/100Mo.dat
/dev/null                       100%[========================================================>]  95,37M  11,0MB/s   ds 8,6s   
2015-12-30 21:01:46 (11,0 MB/s) - «/dev/null» enregistré [100000000/100000000]

Le noyau utilisé :
# uname -a
Linux ubuntu1410 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:22 UTC 2015 i686 i686 i686 GNU/Linux

LSPCI :
# lspci
00:00.0 Host bridge: Intel Corporation 82845 845 [Brookdale] Chipset Host Bridge (rev 03)
00:01.0 PCI bridge: Intel Corporation 82845 845 [Brookdale] Chipset AGP Bridge (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 12)
00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 12)
00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 Controller (rev 12)
00:1f.2 USB controller: Intel Corporation 82801BA/BAM UHCI USB 1.1 Controller #1 (rev 12)
00:1f.3 SMBus: Intel Corporation 82801BA/BAM SMBus Controller (rev 12)
00:1f.4 USB controller: Intel Corporation 82801BA/BAM UHCI USB 1.1 Controller #2 (rev 12)
00:1f.5 Multimedia audio controller: Intel Corporation 82801BA/BAM AC'97 Audio Controller (rev 12)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rage 128 PRO Ultra AGP 4x
02:08.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet Adapter (rev 10)
02:0c.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)

Détail de la carte réseau PCI utilisée :
02:08.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet Adapter (rev 10)
Subsystem: D-Link System Inc DGE-528T PCI Gigabit Ethernet Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (8000ns min, 16000ns max), Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 17
Region 0: I/O ports at dc00 [size=256]
Region 1: Memory at ff6ffc00 (32-bit, non-prefetchable) [size=256]
Expansion ROM at ff700000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: r8169
Titre: Capacité d'un processeur à gérer le https
Posté par: corrector le 30 décembre 2015 à 22:53:40
La crypto asymétrique consomme bien plus qu'AES dans Tor (et l'utilisation qui en est faîte passe par l'appel de fonctions de hachage à de multiple niveaux).
Quelles fonctions de hachage?
Titre: Capacité d'un processeur à gérer le https
Posté par: mirtouf le 31 décembre 2015 à 11:08:10
Pour information, un processeur Braswell supporte le jeu d'instructions aes-ni.
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 31 décembre 2015 à 11:19:43
Même un Intel Xeon Processor E3-1230 a 3,2 Ghz qui date de 2011 (et qui équipe le serveur LaFibre.info) support AES-NI :

processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Xeon(R) CPU E31230 @ 3.20GHz
stepping : 7
microcode : 0x25
cpu MHz : 1600.000
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6385.26
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

Plus fort : Certains produits peuvent prendre en charge les nouvelles instructions Intel® AES (Intel® AES-NI) après une mise à jour de la configuration du processeur (via mise à jour du BIOS). C'est ainsi le cas pour les produits suivants : i7-2630QM/i7-2635QM, i7-2670QM/i7-2675QM, i5-2430M/i5-2435M, i5-2410M/i5-2415M.
Titre: Capacité d'un processeur à gérer le https
Posté par: corrector le 31 décembre 2015 à 12:39:26
En reprogrammant le processeur?

C'est de l'émulation?
Titre: Capacité d'un processeur à gérer le https
Posté par: Marin le 31 décembre 2015 à 13:20:56
C'est de l'émulation?

Je ne vois pas de raison de réintroduire AES-NI par émulation dans les processeurs dépourvus, ça irait juste à l'encontre de l'intérêt de cette extension (en plus de toute logique commerciale). Et ça se ferait remarquer dans les benchmarks. Comme ça, ça fait plus penser à un bug logiciel ou à un problème de distribution.

La vraie raison, tu dois pouvoir la trouver en reversant puis comparant les version du microcode et pour cela, bonne chance :) (les mises à jour sont chiffrées, il y a eu des tentatives d'analyse de leur structure mais il ne me semble pas que quelqu'un soit déjà publiquement allé chercher les clefs dans le silicium.)
Titre: Capacité d'un processeur à gérer le https
Posté par: e-TE le 31 décembre 2015 à 13:32:24
c'est pas plutôt des processeurs qui avaient deja les circuits pour, mais dont le support n'avait pas eu le temps d'être suffisamment fait pour l'introduire "officiellement" dès le début? et après coup, l'implèmentation a passé les tests et la modif du bios permettrait de faire connaitre au système que le support est présent?
tout comme certaines cartes graphiques sont bridés par le bios pour désactiver certaines parties?
Titre: Capacité d'un processeur à gérer le https
Posté par: Marin le 31 décembre 2015 à 13:43:44
et la modif du bios permettrait de faire connaitre au système que le support est présent?

À priori, le BIOS n'est qu'un des moyens possibles de pousser une version récente du microcode vers le CPU (on peut aussi le faire côté OS (https://wiki.debian.org/fr/Microcode)). Je ne vois donc pas spécialement de raison de se focaliser dessus.
Titre: Capacité d'un processeur à gérer le https
Posté par: corrector le 31 décembre 2015 à 13:49:36
Quelles sont les protections contre une reprogrammation du CPU?
Titre: Capacité d'un processeur à gérer le https
Posté par: Marin le 31 décembre 2015 à 13:53:09
Signature (RSA probablement impliqué). Documenté ici :

(cliquez sur la miniature ci-dessous - le document est au format PDF)
(https://lafibre.info/images/doc/201412_Security_Analysis_of_x86_Microcode.png) (https://lafibre.info/images/doc/201412_Security_Analysis_of_x86_Microcode.pdf)
Titre: Capacité d'un processeur à gérer le https
Posté par: vivien le 31 décembre 2015 à 14:14:02
Ubuntu propose dans la partie "pilotes propriétaires" un microcode pour le processeur Intel :

(https://lafibre.info/testdebit/ubuntu/201512_microcode_intel_ubuntu_1510.png)

A noter, qu'il faut relativiser le "ce périphérique ne fonctionne pas" : Pour la carte WiFi Broadcom, les drivers libres fonctionnent bien, d'où la non utilisation des drivers propriétaires :


02:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01)
Subsystem: Dell Wireless 1520 Half-size Mini PCIe Card
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 17
Region 0: Memory at f4100000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=2 PME-
Capabilities: [58] Vendor Specific Information: Len=78 <?>
Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000  Data: 0000
Capabilities: [d0] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
ClockPM+ Surprise- LLActRep+ BwNot- ASPMOptComp-
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP+ BadDLLP+ Rollover- Timeout+ NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [13c v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [160 v1] Device Serial Number 00-00-fa-ff-ff-5e-88-9f
Capabilities: [16c v1] Power Budgeting <?>
Kernel driver in use: bcma-pci-bridge
Titre: Capacité d'un processeur à gérer le https
Posté par: corrector le 31 décembre 2015 à 14:24:22
Signature (RSA probablement impliqué). Documenté ici :
Très intéressant!
Titre: Capacité d'un processeur à gérer le https
Posté par: Paul le 01 janvier 2016 à 15:53:23
C'est un des processeurs les plus catastrophiques d'Intel : Le Pentium III à seulement 1 ghz fait aussi bien.
Alors que la pub promettait un gain jusqu’à 100% ramené a une fréquence d'horloge identique entre Pentium IV et Pentium III.

Il y avait ce problème de puissance, mais aussi la RDRAM qui coûtait un bras et la fonction chauffage d'appoint (et du coup, fonction réacteur à cause des ventilos).