Petites Suggestion

Suggestions pour le site? Demandes de news? Partenariats? Remerciements / coups de gueule :p ? Ou Problèmes plus généraux? C'est ici !

Modérateur: Modérateurs

Règles du forum
En cas de problème technique pour visualiser votre épisode, veuillez lire ce topic

Petites Suggestion

Messagepar SheppeR06 » 20 Mars 2013, 19:57

Salut l'équipe et salut a tous.
Voila je débarque sur AU depuis quelques jours maintenant et j'ai pu lire dans certains posts que les 2 serveurs commencés a saturer ou alors des baisses de bande passante en heures de pointes.
J'ai donc regardé l'engine du serveur web utilisé et je suis tombé sur apache2.
Donc ma petite suggestion est que vous pouvez jeter un oeil au system nginx qui est vraiment de loin plus performant qu'apache(même si je n'aime pas nginx)
Un gain de bande passante, un gain de temps de réponse, un gain de ressources cpu / mémoire important, cela ne peut que vous faire du bien

Donc si ca peut vous aider en quoi que ce soit ;)

Un petit aperçu d'un bench http://blog.webfaction.com/2008/12/a-li ... h-nginx-2/

site officiel : http://wiki.nginx.org/Main

Voili Voilou ;)
Avatar de l’utilisateur
SheppeR06
Petit leech
 
Message(s) : 10
Enregistré le: 20 Mars 2013, 19:12

Re: Petites Suggestion

Messagepar mecanotox » 20 Mars 2013, 20:20

Le problème est simple : la bande passante que vous utilisez pour télécharger les épisodes. On a clairement un problème du même type que Free/Youtube.

Apache ou Nginx (Qui est bien partis pour se faire fumé par Apache 2.4 encore en cours de dev) n'y changera rien.

Mais merci de la suggestion.
Image
Avatar de l’utilisateur
mecanotox
Célébrité
 
Message(s) : 916
Enregistré le: 12 Fév 2007, 16:24
Localisation : Euh.. Ailleur, quelque part dans un autre Univers xD

Re: Petites Suggestion

Messagepar SheppeR06 » 20 Mars 2013, 21:05

D'un point de vue technique apache ne pourras jamais être aussi performant qu'nginx pour la simple raison que : Apache est un serveur basé sur les processus, tandis qu' nginx est un serveur web basé sur les événements.
Pour preuve apache plagia grandement nginx sur la release 2.4

MPM Event
Le Event MPM est sorti du stade expérimental et est maintenant pleinement supporté.

Un bench sur la 2.4
Test 1 - 21KB text file
HTTP Server Req/s
Apache 2.2 Prefork 2220
Apache 2.4 Prefork 2250
Apache 2.4 Event 2300
Nginx 2600


Test 2 - 2B text file consisting of a single period.
HTTP Server Req/s
Apache 2.2 Prefork 4400
Apache 2.4 Prefork 4700
Apache 2.4 Event 4810
Nginx 6650


Test 3 - jquery.min.js (92KB)

HTTP Server Req/s Memory Usage
Apache 2.2 Prefork 650 12MB
Apache 2.4 Prefork 770 72MB
Apache 2.4 Event 820 20MB
Nginx 1000 2MB


Test 4 - PHP output of phpinfo()
HTTP Server Req/s
Apache 2.2 Prefork 525
Apache 2.4 Prefork 575
Nginx FastCGI 450

Image

certes apache a fait de gros progrès depuis la 2.1 ce bench date de moins de 2 mois sur la 2.4.;)
mais sur 25000 connexion 25000 thread je doute que la machine ne souffre pas. même avec un HG XXXL.
J'ai même pu lire sur un post une réponde de ryoku que les perf machine y était aussi pour beaucoup ;)
Avatar de l’utilisateur
SheppeR06
Petit leech
 
Message(s) : 10
Enregistré le: 20 Mars 2013, 19:12

Re: Petites Suggestion

Messagepar mecanotox » 20 Mars 2013, 21:34

- Déjà si tu pompe d'un site, cite les sources : Source

- D'autre part on compare jamais ce qui est réellement comparable : Nginx Vs Apache2-worker où là la différence est bien plus étroite.

- Les résultats sont issue de tests fait sur un VPS. A-U sur un VPS ?! :k¬.¬: :kxD:
On a aucun notion de montée en charge par rapport à une situation réelle. Donc finalement on reste sur du théorique.

En finale ouai c'est claire que poutré le moteur Perfork de apache est très facile avec Nginx.
Mais PHP reste plus efficace, même sur un Apache avec PHP en CGI que un Nginx avec PHP-FPM.

Enfin j'ai pas connaissance de bench récents entre Apache mpm-worker et Nginx et sur ce point je suis vraiment curieux parce que là, selon certains retour d'expérience le gain serait plus tellement important.
Image
Avatar de l’utilisateur
mecanotox
Célébrité
 
Message(s) : 916
Enregistré le: 12 Fév 2007, 16:24
Localisation : Euh.. Ailleur, quelque part dans un autre Univers xD

Re: Petites Suggestion

Messagepar SheppeR06 » 20 Mars 2013, 22:09

Yep, j ai zappé de mettre le lien de la source du 2 eme bench.
Disons que le bench vps / dedicated resterons dans l'optique d'un bench valide, car on test la fiabilité du soft sur la machine et non la machine elle même, même si pour autant un soft peut être plus performant sur différent hardware.

Par curiosité demain si j ai le temps j installerais 1 vm pour faire un bench sur les 2 system, mais je reste persuadé qu' nginx serais plus avantagé pour AU ^^
Après les gouts et les couleurs, même si je préféré apache pour de l'utilisation perso.


Edit (j avais 10 minutes a perdre ^^ bench perso)
on voit clairement que nginx encaisse le double de connexion/s pour 25% d'utilisation machine en moins(en gros)

apache 2.4
Image

nginx 1.2.1
Image
Avatar de l’utilisateur
SheppeR06
Petit leech
 
Message(s) : 10
Enregistré le: 20 Mars 2013, 19:12

Re: Petites Suggestion

Messagepar ryoku » 21 Mars 2013, 02:12

Je vais couper court très vite aux discussions, on utilise déjà nginx pour fournir le stream.

Apache est en mpm et configuré pour tenir la charge, c'est pas lui qui me pose soucis.

Faut bien comprendre que la saturation vient du stream et ddl (bande passante), pas du nombre pages vues. Vous pourriez êtres 200 000 de plus, on tiendrais sans soucis.

Ensuite, nginx est plus performant pour fournir du static, pas pour fournir des pages php avec bcp de rewrite, les benchs sont là, à chacun de configurer sa machine ensuite, il ne s'agit pas de prendre le premier serveur web et faire du bench dessus en mode config par défaut ce qui n'a aucun interet. Et quitte à faire des optis, je puiserais directement sur varnish avec du cache bref, de toute façon le soucis n'est pas là.
C'est pas mes 25% de CPU que je vais gagner qui vont servir à grand chose tant que yaura des soucis de BP et d'IO sur mes DD.

Je vais pas m’amuser à reconfig tout le bordel pour un apport complètement nul. J'en ai de la ressource libre au niveau CPU ou RAM, je pourrais même faire un load-balance avec le 2eme serv ça me donnerais tout de suite 2x plus de patate pour le front, mais pour le coup c'est visé la mauvaise cible du problème.
Image
Avatar de l’utilisateur
ryoku
Divinité Ultime
 
Message(s) : 1690
Enregistré le: 13 Déc 2005, 22:51

Re: Petites Suggestion

Messagepar SheppeR06 » 21 Mars 2013, 09:59

Je ne comprend pas trop la réponse, du moins la logique, certes le gain cpu / mémoire serais la mais:

1 connection 1 anime streaming:
X = Y = Meme anime
(Taille Y = X du buffer a send => requette => handler => execution => interpretation ) / perf nginx = X2 gain
(Taille X = Y du buffer a send => requette => handler => execution => interpretation ) / perf apache2 = Y2 Gain

Pour 50 anime
X2 - Y2 = X3 Gain

Le X3 gain ne sera pas que ressource physique(cpu/ram), il sera aussi en temps d’exécution décompression du buffer et de l’interprétation du client.
Si le client reçoit + vite les infos sur la même qualité du buff et sa taille ==> a la sortie ce gain X3 sera aussi bande passante / requete /s lecture des DD.

Enfin moi je le vois comme ca non ?
Avatar de l’utilisateur
SheppeR06
Petit leech
 
Message(s) : 10
Enregistré le: 20 Mars 2013, 19:12

Re: Petites Suggestion

Messagepar mangakam » 21 Mars 2013, 10:19

Faut bien comprendre que la saturation vient du stream et ddl (bande passante), pas du nombre pages vues. Vous pourriez êtres 200 000 de plus, on tiendrais sans soucis.


C'est toi qui comprend pas on te parle de bande passante ce que fournit OVH pas de CPU ou ram

En clair ce que tu dit ça rien a voir, meme moi qui n'a pas fait d'étude informatique je comprend ça ....
Avatar de l’utilisateur
mangakam
Ecchi master
 
Message(s) : 6080
Enregistré le: 30 Mars 2011, 21:04
Localisation : Charente Maritime

Re: Petites Suggestion

Messagepar shARPII » 21 Mars 2013, 11:05

mangakam a écrit:C'est toi qui comprend pas on te parle de bande passante ce que fournit OVH pas de CPU ou ram

En clair ce que tu dit ça rien a voir, meme moi qui n'a pas fait d'étude informatique je comprend ça ....


Je pense que Mangakam a bien résumé.
On a pas un problème de bande passante par rapport à la machine. Comme l'a dit ryo, c'est pas l'affichage du site qui pose problème, on peut avoir une charge beaucoup plus importante sans problème.
Le problème c'est le flux de donnée qui circule pour le stream/ddl et ça consomme énormément pour OVH.
De plus, il t'a dit qu'il utilise déjà nginx pour le stream alors je vois pas ce que tu veux de plus x)

Les problèmes, pour faire plus court que ryo, c'est :

- L'entrée/sortie des disques dur (optimisation du mouvement avec la tête de lecture/écriture) pour éviter qu'elle ait trop à bouger.
- Pas assez de bande passante chez OVH (et pas un problème du serveur en lui même)

Donc faire tes changements n'apporteraient rien à notre problème.
Les serveurs sont déjà sur-boosté et il n'y a donc, aucun soucis. Et comme l'a très bien dit mecanotox, on a un problème du type la confrontation entre free/youtube ou free/twitch.tv => bridage.
shARPII
Célébrité
 
Message(s) : 1384
Enregistré le: 19 Fév 2012, 20:15

Re: Petites Suggestion

Messagepar SheppeR06 » 21 Mars 2013, 11:27

Je pense que c'est vous qui ne comprenez pas le calcul en lui même.

Exemple tout bête

Un fichier de 200 mo
Un autre fichier de 50 mo
Les 2 sont de qualité identique a 100%.
Vous pensez réellement que la bande passante utilisé sera la même pour les 2 fichiers?
Donc si les gains bande passante economisé et soustré au manque de bande passante ==> résultats ?
Ce que fourni nginx en perf n est pas seulement cpu/machine mais compression / flux de donné 4x supérieur a apache
si le moteur utilisé est apache2 avec en front end nginx (comme pour le stream) ça ne sert strictement a rien car c est apache qui gère le buffer a interpréter par nginx.

C est comme mettre un moteur de porche dans un 4L sans changer le débit d'essence envoyé au moteur.
Enfin je laisse tomber pour cette suggestion ;) cela ne sert a rien de se prendre la tete ^^
Avatar de l’utilisateur
SheppeR06
Petit leech
 
Message(s) : 10
Enregistré le: 20 Mars 2013, 19:12

Re: Petites Suggestion

Messagepar ryoku » 21 Mars 2013, 13:42

Oui la bande passante sera la même pour les 2 fichiers peu importe le serveur utilisé... Je pense que tu devrais un peu étudié le protocole http, ton gain est cohérant pour un fichier texte qui serait compressé ( et encore et toujours, ça se configure la compression sous apache), pas pour une vidéo, il n'y a pas de compression faite par le serveur lors de l'envoi.

Il n'y a pas de différence entre un fichier de 200 mo émis par apache ou émis par nginx... (les mécanisme sont les mêmes derrières, mmap du fichier, open, send 0copy etc...)

Là, tu confonds un peu tout avec tes histoires de performances, on utilise déjà nginx en direct pour le stream mais ya pas de miracle, un serveur http reste un serveur http, tu devrais même en coder un, tu apprendrais pas mal de chose sur les mécanismes interne des 2 serveurs.

Et NON un fichier de 200 mo servis sous apache ou nginx reste à 200 mo quoiqu'il arrive, on envoie pas du plain text mais du binaire... Si tu veux tu peux t'amuser à compresser en gzip une video, et tu verras que ton gain est quasi nul...
Image
Avatar de l’utilisateur
ryoku
Divinité Ultime
 
Message(s) : 1690
Enregistré le: 13 Déc 2005, 22:51

Re: Petites Suggestion

Messagepar ryoku » 21 Mars 2013, 13:52

SheppeR06 a écrit:Je ne comprend pas trop la réponse, du moins la logique, certes le gain cpu / mémoire serais la mais:

1 connection 1 anime streaming:
X = Y = Meme anime
(Taille Y = X du buffer a send => requette => handler => execution => interpretation ) / perf nginx = X2 gain
(Taille X = Y du buffer a send => requette => handler => execution => interpretation ) / perf apache2 = Y2 Gain

Pour 50 anime
X2 - Y2 = X3 Gain

Le X3 gain ne sera pas que ressource physique(cpu/ram), il sera aussi en temps d’exécution décompression du buffer et de l’interprétation du client.
Si le client reçoit + vite les infos sur la même qualité du buff et sa taille ==> a la sortie ce gain X3 sera aussi bande passante / requete /s lecture des DD.

Enfin moi je le vois comme ca non ?


Buffer à send, ok mais le buffer tu le remplis d'où ? Des disque durs.
interpretation, ok et la suite elle est où, quand tu send ta donnée sur ta socket tu dois attendre la fin de l'envoie pour renvoyer une donnée, donc ya un temps d'attente... ça c'est la bande passante.

Le client ne reçoit pas plus vite les infos, ton schéma parle juste de la gestion d'une requête, l'envoie de données n'a rien à voir avec ça, et de plus tu parles juste de fichier purement statique de petite taille, du php + apache est plus performant que du fastcgi/php + nginx

Si tout ça t'interesse, ne regarde pas juste un bench et tirer des conclusions aussi hâtive, je pourrais te parler du kernel, des optis au niveau des queues tcp, de la gestion des bufferisations (un mmap n'agit pas pareil qu'un read/send) etc...
Un bench répond à une problématique précise et particulière, c'est pas des conditions réel ! Tu peux être super optimisé pour un cas de figure et foirer tous les autres avec des idées comme ça.
Image
Avatar de l’utilisateur
ryoku
Divinité Ultime
 
Message(s) : 1690
Enregistré le: 13 Déc 2005, 22:51

Re: Petites Suggestion

Messagepar mjeff » 21 Mars 2013, 22:09

Je propose qu'on s'en tienne à ça, à part si une personne possède un serveur comme AU avec les mêmes mécaniques ou si elle bosse chez un fournisseur comme ovh, ce serait plus pertinent d'en discuter, entre la théorie et la pratique...
Bienvenue sur Anime-Ultime!
Image
Welcome! If you have any questions regarding the site, please send me a pm!
Avatar de l’utilisateur
mjeff
Terreur Ultime
 
Message(s) : 8333
Enregistré le: 14 Déc 2005, 23:21
Localisation : Au bord de l'eau

Re: Petites Suggestion

Messagepar SheppeR06 » 23 Mars 2013, 01:52

Mon equipe et moi avons bien 3 HG XL sous la main, 2 pour du stream et 1 en replication mais nous ne fesons pas du streaming.

ryoku a écrit:Si tout ça t'interesse, ne regarde pas juste un bench et tirer des conclusions aussi hâtive, je pourrais te parler du kernel, des optis au niveau des queues tcp, de la gestion des bufferisations (un mmap n'agit pas pareil qu'un read/send) etc...
Un bench répond à une problématique précise et particulière, c'est pas des conditions réel ! Tu peux être super optimisé pour un cas de figure et foirer tous les autres avec des idées comme ça.


C est pas que ça m’intéresse, c'est mon taf (dev d'interface ) échange de données entre clients et servers.
Nous travaillons sur des produits destinés a l'utilisation professionnelle pour d'autres compagnies et leur softs, plus précisément des libs qui seront embarquées dans des programmes nécessitant des échanges entre clients et servers.

enfin on va en rester la pour cette suggestion :kxD:
Avatar de l’utilisateur
SheppeR06
Petit leech
 
Message(s) : 10
Enregistré le: 20 Mars 2013, 19:12


Retour vers Écrire à l'équipe

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 7 invités

cron