Squid3 CPU monte à 100% lors de téléchargements + baisse de bande passante
-
J'ai regardé TOP et je n'ai pas %wa dans le CPU !
C'est assez étrange. Par contre iostat ne remonte rien de particulier quand je télécharge.
Comment afficher le taux d'IO WAIT ? -
toutes mes excuses, c est ma maniere de m exprimer mais ny voyez pas d injure
quand je dis sale , comprenez, non standard (sujet à pb)
en effet, la virtualisation peut etre la cause des pb rencontrés sur ce type d'install
=> il est atypique de virtualiser un routeur, un firewall
–
peut etre pouvez vous dans la lancée des conseils de juve, restreindre les fonctions de pfsense par "zoning" pour voir quel chainon de la virtualisation pose pb=> Couper tout le sysloging, le RRD, dans pfsense, dans squid, éviter tous les accès disques au max
proxmox peut d'ailleurs dans son panel vous indiquer les points de charge
voyez vous également le délai I/O s'emballer pendant vos tests? le host laisse t il apparaitre qqch?il est possible que le host aille très bien, on en revient au coté "sale", c'est a dire sujet a des pb exotiques de ce type
-
et 1.5GO de ram c'est pas trop suffisant non plus
combien d'interfaces réseau physiques avez vous sur le proxmox?
-
Bonjour,
Je dispose de 2 interfaces physiques et 1 virtuelle pour la DMZ.
-
vSwitch1(dhcp pfsense) vSwitch2 (dhcp box)
<–------------------------------------------------------------------> <------------------------------------------------------->CLIENT LAN <<>> nic2 >> VSWITCH PROXMOX >> KVM PFSENSE (PROXY) >> VSWITCH PROXMOX >> WAN PROXMOX >> nic1
vmbr1 LAN WAN vmbr0 WAN
<-------------------------------------------------------------------------------------------------------------------------->
Hôte PROXMOXCe schema est il conforme a votre setup?
par ailleurs, vous n'êtes pas sans savoir que lorsque "CLIENT LAN" tire à 20mo/s le host doit "logiciellement gerer ce trafic sur les deux
switchs.(d'ou ma reflexion anterieure relative "a la saleté de l'idée qui consiste a virtualiser un routeur")
-
Bonjour Florian22,
Je n'avais pas vu votre message au-dessus de celui concernant le nombre d'interfaces physiques. Aussi vais-je vous répondre aux 2 restants ici.
Mais tout d'abord je tiens à vous remercier pour la qualité de l'aide que vous apportez. Je ne me suis senti « insulté » par votre réponse, rassurez-vous.Pour répondre au delai d'IO sur Proxmox, il n'y en pas ou inférieur à 1% lors de mon test de téléchargement. Le CPU du host par contre monte à 50%.
Votre schéma est assez conforme en effet. Je vais tenter de le reproduire :
Pfsense :
em0(vmbr0)–------em1(vmbr1)-----------em2 (vmbr2)
|| || ||
LAN PROXY DMZ
||
WANPromox dispose de 2 interfaces physiques eth0 et eth1 et une virtuelle eth1:1.
Je vais refaire les tests en désactivant toutes les sources d'écriture. Par contre, je ne trouve pas l'indicateur affichant le % d'IOWAIT.
Savez-vous où pourrais-je trouver cette valeur ? TOP ne le montre pas. -
La désactivation de toutes les sources d'IO ne change rien à l'affaire.
-
je ne comprends pas trop votre schema, mais puisque vous etes d'accord avec le mien, je vais me garder le mien en tete
pouvez vous svp :
1/ lancer un gros dl par fetch dans la console pfsense (donc pas derriere lan) on utilise pas le vswitch interne, juste le vswitch de l interf publique pfsense
2/ allez dans prox > sortez le % cpu, et le I/O delay (disque)
3/ allez dans pfsense, > top > sortez le taux interrupt (reseau)
4/ allez dans pfsense > top > sortez le taux CPU
5/ allez dans pfsense > top > sortez la valeur ram
puis refaites 2 a 5 en modifiant 1 > a savoir: vous me faites plus ca en fetch par pf, mais avec un PC sur LAN
arangez vous dans les deux tests pour avoir le même "tirage" (debit/nombre de threads) (prenez plusieurs fetchs paralleles, ou plusieurs DL sur le PC lan si besoin est)
pour obtenir des tests comparablespeut etre allons nous voir des choses interessantes dans ce test croisé, puisque dans un, vous testez depuis l'interface WAN sur un seul vswitch en ssh et de l''autre vous faites toute la traversée
(et donc cette boucle "sale", puisque j'espere que vous avez pu constater que vous infligez une grosse boucle au host?)
(c'est pour ca que je dis que c'est sale) (on ne virtualise pas un firewall normalement)ps: il est possible que vous ne puissiez pas regler le probleme, la virtualisation peut causer des problemes tres exotiques dans certains cas (drivers cartes réseau etc)
ps2: pouvez vous me confirmer que vous avez bien capté que votre config fait faire une boucle au trafic, et que pour 1 méga consommé au départ du LAN vous faites travailler le host pour 2 megas, puisque le trafic entre, sort, rerentre et ressort
-
Voici les résultats :
J'ai fait un fetch et un wget d'un fichier d'1 Go.
Voici les valeurs du fetch sur pfsense :
Proxmox : CPU : ~35%, IO delay ~3%
Pfsense : Interrupt : 10%, CPU : ~70% system, RAM : 165 active, 930 inactif.J'obtiens les mêmes valeurs depuis le LAN. En revanche ce test m'a permis de me rendre compte que même sans Proxy activé, j'obtenais des valeurs identiques en terme de ressources CP. Par contre je retrouve l'intégralité de ma bande passante. Ce qui m'amène à penser que la charge CPU excessive et la baisse de bande passante, ne sont pas corrélées.
-
Par contre chose étrange, avec fetch sur pfense je ne dépasse pas les 20-22 MB/s, alors que je suis à plus de 30 sur le LAN sans proxy.
-
1/ Quel est le débit pour les tests (voir RRD)
2/ quel est le gabarit proxmox utilisé pour pfsense (ressources)
3/ quel est la frequence, la ram installée du host px
4/ quel type de carte reseau utilisez vous
-
quel type de connexion avez vous?
quel type de ressource a servi au test?je vous avais dit de prendre plusieurs threads (fetch) pour pousser la ligne dans ses retranchements
prenez 7-8 fichiers 10G sur ovh.net, et relevez les valeurs moyennes sur 3-4 min
plus votre test va durer longtemps, plus vous aurez des valeurs graphées dans rrd laissez tourner les threads pour chaque test 10 minutes
puis sortez nous les captures RRD de la section "system" et de "trafic"pour chacun des deux tests.
n'oubliez pas également de me dire si pfsense dispose de 100% des capacités CPU dans le gabarit proxmox, si il partage les ressources avec d'autres unités, ainsi que les spec techniques du host
une fois toutes ces infos glanées, on pourra en dire plus (sans garantie)
desactivez pour vos tests : ¨Portail captif + proxy + tout service inutile, éteignez les autres VM présentes sur le HOST
-
quelles valeurs sont cochées dans votre pfsense sous la section system > advance > networking
il y a 5 options cochables, lesquelles sont actives/inactives
-
Ma connexion est une ligne fibre FTTH 280/50.
Le host dispose de 8 Go de RAM et d'un processeur cadencé à 3,2 Ghz
Les cartes dont des Intel Pro 1000
Le gabarit PFsense est le suivant : Memory 1.34GB, Processors 2 (1 socket, 2 cores) host, HDD scsi 20G format RAW, 3 nics e1000
Pfsense n'a pas de limitation en termes de ressources. Il est installé avec d'autres VMs bien entendu.Je précise toutefois que je ne rencontre des problèmes de débit qu'au travers du Proxy Squid. Si je le désactive je retrouve 100% des capacités de la ligne.
Je vais néanmoins faire les tests demandés. -
Les options Networking :
Sont cochées Disable hardware TCP segmentation offload et disable hardware large receive offload
-
Ma connexion est une ligne fibre FTTH 280/50.
Le host dispose de 8 Go de RAM et d'un processeur cadencé à 3,2 Ghz
Les cartes dont des Intel Pro 1000
Le gabarit PFsense est le suivant : Memory 1.34GB, Processors 2 (1 socket, 2 cores) host, HDD scsi 20G format RAW, 3 nics e1000
Pfsense n'a pas de limitation en termes de ressources. Il est installé avec d'autres VMs bien entendu.Je précise toutefois que je ne rencontre des problèmes de débit qu'au travers du Proxy Squid. Si je le désactive je retrouve 100% des capacités de la ligne.
Je vais néanmoins faire les tests demandés.reduisez au minimum les parametres…
ide ou sata pour le disque dur... par exemple
eteignez les autres VM, et donnez 100% du CPU et de la RAM dispo (95% si vous voulez)
faites cela a l 'occasion d'un 3e test
quel type de processeur virtuel utilisé? kvm64?
-
Legacy pour quel item ?
Il ne me semble pas que Proxmox permette de distribuer les ressources selon les Vms.
Il existe la notion de CPU units mais ce n'est pas tout à fait la même chose. Pour la RAM il n'y a aucune contention. -
ben si, c est le principe d un hyperviseur, vous affectez un nombre de vcore
donnez les lui tous
pour la ram pareil, c est reglable
-
en clair => si votre pfsense en temps que vm, n a acces qu a un seul coeur sur 4 dispo par exemple
ca me choque pas outre mesure que vous montiez a 75% de ce même coeur… :)
-
J'ai dédié 2 coeurs à cette VM.