Quanto rilevanti sono i benchmark "Richieste al secondo"?

3

Ogni volta che viene rilasciato un nuovo framework, è scontato che qualcuno da qualche parte lo confronterà con altre soluzioni disponibili.

Un benchmark interessante è il benchmark "Richieste al secondo". Ad esempio, guarda questo benchmark :

Ora AFAIK Zend framework e Symfony sono due dei più grandi framework là fuori con le principali aziende che li supportano. Gli sviluppatori hanno commesso un errore durante la progettazione del framework che ha portato a quella soglia (relativamente) bassa?

Se ho intenzione di costruire un sito web / app e mi aspetto un (relativamente) alto traffico, dovrei prestare attenzione a questo punto di riferimento? Il mio sito / app andrà sicuramente alle cifre presentate?

Semplicemente ti chiedo come architetto del software come prendere strategicamente in considerazione questo benchmark quando pianifichi un nuovo progetto.

    
posta Songo 04.10.2013 - 13:19
fonte

2 risposte

2

Basta guardare quel grafico e tralasciare i 2 paragrafi sotto il grafico (nell'articolo collegato) dà facilmente un'immagine distorta. Lasciatemi citare l'articolo:

I’m not surprised, Slim is the fastest because it’s a micro framework. The Quick Start project didn’t use any templates or layout which obviously contributed to the reading. Zend1 is twice faster than Symfony2 and Zend2 but in my experience the number will quickly go down in a real live setup.

Frameworks should speed up development, performance is a secondary concern. Zend 2 and Symfony2 could do better but it’s not bad. There are ways to improve those numbers on production servers. Don’t reinvent the wheel, learn and use frameworks. There are various options which balance between performance and features.

Quindi quello che dovresti fare è: prestare attenzione a queste osservazioni. I benchmark mostrano che un framework esegue quel benchmark specifico con un certo rendimento, e uno dovrebbe essere veramente, molto attento quando cerca di dedurre qualsiasi decisione del mondo reale da loro.

    
risposta data 04.10.2013 - 13:55
fonte
1

Un benchmark in genere ha una scarsa relazione con il codice che si finisce per scrivere - è molto insolito per loro testare qualcosa vicino a casi reali, in parte perché quando si raggiunge una situazione del mondo reale ci saranno molti più cose in gioco rispetto al framework dell'applicazione. Ci saranno dei colli di bottiglia nella logica, nell'accesso ai dati, dappertutto.

Anche i diversi framework sono tipicamente per cose un po 'diverse, quindi è insolito che un benchmark come "richieste al secondo" sia ugualmente rilevante per diversi framework che offrono cose diverse. Ad esempio il più veloce del sondaggio collegato nella domanda è un microframework che fa relativamente poco, in modo da ottenere tempi di risposta più rapidi, ma probabilmente dovrai scrivere molto più codice per fare le cose con esso.

Questo non significa che siano completamente inutili - ci sono alcuni casi in cui alcuni benchmark possono essere utili - i due che posso vedere in cima alla mia testa sono:

  • Scelta di un framework - in una situazione come la tua, potresti prendere in considerazione particolari benchmark quando hai identificato diversi framework che soddisfano tutti i tuoi bisogni e hanno bisogno di qualcosa che va oltre le tue esigenze immediate per aiutarti a decidere quale uso. Idealmente, però, scriveresti i tuoi benchmark per confermare come ti piacerebbe lavorare con ognuno di essi: la scrittura sarebbe probabilmente più importante del benchmark.
  • Decidere quanto l'ottimizzazione è prematura - se sai che stai utilizzando un framework che trasforma le richieste molto rapidamente, potresti non aver bisogno di lavorare sulla memorizzazione nella cache e su altre ottimizzazioni, il che può farti risparmiare tempo per concentrarti su la tua vera progettazione dell'applicazione piuttosto che l'infrastruttura per supportarla. Anche solo avere un'indicazione finger-in-air su come un framework si accumula in questi tipi di scenari può essere utile per le tue scelte progettuali.
risposta data 04.10.2013 - 13:57
fonte