• [^] # Re: C'est beaucoup ?

    Posté par . En réponse au journal Java : presque 9 000 requêtes par seconde avec 8 Mo de RAM. Évalué à 6. Dernière modification le 13 juin 2022 à 13:52.

    Ok, j'ai repris le truc, pour m'amuser un peu. Le serveur maintenant affiche son pid, et sert un fichier html tout bete:

    import http.server # Our http server handler for http requests 
    import os 
    import socketserver # Establish the TCP Socket connections 
    PORT = 9000 
    print(os.getpid()) 
    class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler): 
     def do_GET(self): 
     self.path = 'index.html' 
     return http.server.SimpleHTTPRequestHandler.do_GET(self) 
    Handler = MyHttpRequestHandler 
    with socketserver.TCPServer(("", PORT), Handler) as httpd: 
     print("Http Server Serving at port", PORT) 
     httpd.serve_forever() 
    

    et le index.html:

    <html>
    <head>
    <title>I am awesome!</title>
    </head>
    <body>
    <p>Congratulations! The HTTP Server is working!</p>
    </body>
    </html>
    J'obtiens 6000 requetes par secondes. J'imagine que le bottleneck est sur la lecture du fichier, mais a ce moment la il ne me parait plus si simple d'utiliser http.server sans servir un fichier html.

    top m'indique le CPU reste en dessous de 100%, j'imagine qu'on est en monothread, la ram, mesuree avec ps -o rss= <pid>, reste constante a 16 MB.