Définir une application en haute priorité :)

Bonjour à tous et à toutes j’ai une petite question, y a t-il une commande ou une manipulation à faire pour qu’une application soit en haute priorité?

Je démarre mon serveur avec cette commande-ci

[quote]screen -dmS serveur1 ./hlds_run -game cstrike +ip 192.168.0.2 +maxplayers 17 -pingboost 3 +sys_ticrate 1000 +map cs_assault +port 27015 -tos[/quote] Faut il rajouter une commande à cette ligne?

Il y a souvent des montees de ping quand il y a bcp de joueurs

Avez-vous une petite astuce? :slightly_smiling:

Bonjour,

Tu lances ton screen, tu lui donnes un prioprité -10 avec

renice -10 pidof screen

et là tous les processus lancés dans ce screen auront la priorité -10, tu lances ton serveur et ça roule. (-10 suffit)

Merci de m’avoir répondu.
Je rajoute donc -10 dans la ligne de commande (cad +sys_ticrate 1000 -10 -pingboost 3) ? Est-ce la valeur maximale? Pensez-vous que -tos augmente les performances tout comme le -10? Et dernière question connaissez-vous d’autres astuces pour améliorer les perf d’un serveur?
Je vous remercie :slightly_smiling:

[quote=“iLinux”]Merci de m’avoir répondu.
Je rajoute donc -10 dans la ligne de commande (cad +sys_ticrate 1000 -10 -pingboost 3) ? Est-ce la valeur maximale? Pensez-vous que -tos augmente les performances tout comme le -10? Et dernière question connaissez-vous d’autres astuces pour améliorer les perf d’un serveur?
Je vous remercie :slightly_smiling:[/quote]

Non, tu ne rajoutes pas -10 dans la ligne de commande: Ton serveur ne doit pas tourner sous root (il y a des failles potentielles dans hlds), tu le fais tourner sous un screen donc tu fais

[code]$ screen
puis dans une AUTRE console, SOUS ROOT, tu fais

renice -10 pidof SCREEN

[/code]et même (je fais le test en même temps)

[code]# ps ax -H | grep -v grep| grep -A 1 SCREEN
tu obtiens une ligne type
3882 ? S<s 0:00 SCREEN
3883 pts/5 Ss+ 0:00 /bin/bash

là tu fais

renice -10 3883

[/code]

(ça peut se résumer en général à

# renice -10 `pidof SCREEN` $[`pidof SCREEN`+1] mais en théorie le +1 n’est pas toujours vrai.

Ensuite, et seulement ensuite, tu reviens dans ton screen et tu lances normalement ton serveur (sans rajouter -10).

Cela peut être une bonne idée si ta machine fais autre chose. Un serveur pour 16 personnes occupe bien un P4 1Ghz et monte jusqu’à 100K/s en upload.

Je te remercie, voici ce que ça donne :

[quote]debian:~# renice -10 2447
2447: old priority 0, new priority -10
debian:~# [/quote]

Impeccable, vérifies les priorité en faisant

$ top

et en regardant tes processus

Ok je te remercie :slightly_smiling:
Connais-tu des moyens pour optimiser au maximum son serveur?

Couper les services inutiles qui se trouvent sur ton serveur CS (Apache/MySQL).
Configurer le timer de ton kernel pour qu’il soit en 1000Hz, un petit lien : wiki.goldzoneweb.info/doku.php?i … r_du_noyau

[quote=“goldyfruit”]Couper les services inutiles qui se trouvent sur ton serveur CS (Apache/MySQL).
Configurer le timer de ton kernel pour qu’il soit en 1000Hz, un petit lien : wiki.goldzoneweb.info/doku.php?i … r_du_noyau[/quote]

Le passer à 1000Hz rend l’ordianteur plus réactif ce qui n’est pas forcément son but: l’ordinateur va regarder plus souvent si il y a des taches à éxécuter, or hlds ne contient que 3 processus (donc un maitre et un thread sans doute). [quote]
RSS SHARE STAT %CPU %MEM TIME COMMAND
67M 54840 S < 15.9 27.1 350:52 hlds_i686
1128 900 R 0.3 0.4 0:00 top
616 616 S < 0.0 0.2 0:03 screen
52 52 S < 0.0 0.0 0:00 bash
48 48 S < 0.0 0.0 0:00 sh
48 48 S < 0.0 0.0 0:00 hlds_run
67M 54840 S < 0.0 27.1 0:00 hlds_i686
67M 54840 S < 0.0 27.1 2:48 hlds_i686
1764 1560 S 0.0 0.6 0:00 sshd
1372 1136 S 0.0 0.5 0:00 bash

ou

CPU In Out Uptime Users FPS Players
18.75 13.25 16.33 13434 2122 333.67 5

[/quote]
(le serveur à un uptime d’un dizaine de jour)
Si on regarde bien, un seul processus a travaillé réellement , il n’est donc pas nécessaire d’augmenter la rapidité de passer d’un processus à un autre. Or c’est la principale conséquence d’augmenter le «timer». Moi, j’ai laissé le timer à 250Hz (défaut).

J’ai mis le kernel en 1000hz.

Comment couper apache et mysql?

Merci de m’aider une fois de plus :slightly_smiling:

[code]# su

/etc/init.d/apache stop

(ou apache2)

/etc/init.d/mysql stop

[/code]
mais à mon avis tu peaufines pour rien à ce stade sauf si tu te sers sans arrêt d’apache et mysql. Un serveur qui dort ne consomme rien.

Ok je te remercie, le serveur as toujours des montees de ping, tu sais comment faire pour améliorer le ping et la fluidité du serveur?
Du genre à obliger l’application serveur à rester obligatoirement entre 800 et 1000 fps?

Car parfois ça déscend à 11fps …
Je pensais qu’un serveur linux était plus performant que sur windows :slightly_smiling:

Voici l’évolution du ping de mon serveur (source : HLSW)

http://depftp.free.fr/ping_serveur.bmp

Autre chose quand un joueur essaie de se connecter souvent ceci apparait :

[quote]Dropped |G.C.R| jerem9793 recrute from server
Reason: Client sent 'drop’
Got Steam2 authentication response for unknown user[/quote]

Est-ce à cause du serveur?

Attention, tu dépends quand même de la connexion free. Si tu as allumes ta télé, tu auras un lag, de même pour le téléphone…

Tu peux mettre ces règles (pour le folklore à mon avis):

iptables -t mangle -A PREROUTING -p udp --dport 27000:27045 -j TOS --set-tos Minimize-Delay iptables -t mangle -A PREROUTING -p udp --sport 27000:27045 -j TOS --set-tos Minimize-Delay
Ça indique aux routeurs de donner la priorité aux paquets. Le fps dépend du jeu et des joueurs. Je te renvoie à http://www.forum-cs.com/tuto_rates
Saches que des mauvais réglages conduisent à des lags de ton serveur, il ne faut pas être trop gourmand. Le plus simple est de laisser ton serveur tourner en capturant les logs et en les activant dans le serveur. Puis tu fais une recherche de Lag ou lag dans les logs. Quand ça «lague» les joueurs gueulent et ça laisse une trace dans les logs. De façon générale, si les joueurs ne se plaignent pas, c’est que c’est bon.

Tu peux également faire en sorte que les cartes et autres soient chargés sur un autre serveur (tes pages free par exemple):

  • Tu crée l’arborescence usuelle maps, gfx, model , etc… avec ce qu’il faut sur le serveur free (par exemple repertoire cs sur ilunux.free.fr/cs/
  • Tu rajoutes
    sv_downloadurl "http://ilunux.free.fr/cs"
    dans le server.cfg du répertoire cstrike

Tu relances ton serveur et tout le téléchargement sera supporté par free et non par ta connexion ce qui évites des sautes de pings

Pour les messages, ce sont des gars qui ont des pbms avec les mises à jours de Steam, il leur faut virer le fichier ClientRegistry.blob (un nom de ce style) et se reconnecter.

Une indication: Un serveur 12 personnes sur un Pentium 1.8Ghz avec un squid tourne avec un loadaverage de 0.6 en pleine activité. Le pbm des serveurs personnels, ce n’est pas la machine mais la connexion…

Depuis que j’ai rentré les commandes que tu m’as indiqué ceci apparait à chaque fois que je démarre le serveur :

[quote]Adding master server 72.165.61.189:27010
Adding master server 72.165.61.190:27010
0 fps – host(5544) sv(770) cl( 0) gfx( 0) snd( 0) ents(146)
L 09/22/2007 - 21:59:56: World triggered "Round_Start"
Could not establish connection to Steam servers.
[/quote]

Lesquelles, les 2 «iptables»?? Curieux, si c’est le cas, tu peux les supprimer en faisant

iptables -t mangle -D PREROUTING -p udp --dport 27000:27045 -j TOS --set-tos Minimize-Delay iptables -t mangle -D PREROUTING -p udp --sport 27000:27045 -j TOS --set-tos Minimize-Delay mais je ne vois pas le lien…

Je ne peux toujours pas me connecter à steam server

Hum, bizarre, Arrête, le serveur, vérifies qu’il n’y a pas de processus hlds qui traine et relance le. Je ne suis pas sûr que ça vienne de ces modifications. Au pire redémarre la machine mais je n’y crois pas. Ça peut venir de chez Steam…

Ca refonctionne, j’ai rajouté +ip 192.168.0.2 :slightly_smiling:

Tu devrais mettre la commande dans un fichier «bash»