2008-08-16 13 views
17

Estoy pensando en usar un framework PHP llamado CodeIgniter.¿Cómo puedo determinar la velocidad de CodeIgniter?

Una de las cosas que me interesa es su velocidad. Sin embargo, no tengo forma de saber qué tan rápido es, y preferiría no tomar simplemente la palabra de su sitio web. ¿Alguien sabe cómo puedo determinar su velocidad yo mismo, o alguien me puede decir de un sitio que sí puede?

Respuesta

2

recomiendo probarlo usted mismo. use xdebug's profiler para crear un archivo compatible con cachegrind y webgrind para visualizar el archivo.

de esa manera usted termina con información muy confiable.

3

Si su sitio es con bases de datos estaría muy sorprendido si su cuello de botella sería el marco de aplicación. "Rápido", como en un desarrollo más rápido es lo que me preocuparía en lugar de "rápido" como en el manejo rápido de las solicitudes. La optimización significativa se realiza mejor mediante estrategias de almacenamiento en caché y la optimización del acceso a la base de datos.

Además de acceso a la base de su propio código será el lugar donde se gasta la mayor parte del tiempo para cada solicitud (y ni siquiera eso es por lo general significativo en comparación con el acceso de base de datos), el marco no es probable que esté afectando el tiempo dedicado a una solicitud, a menos que esté realmente mal escrito.

Será mucho mejor buscar un marco que tenga un buen soporte de caché (que Code Igniter puede tener, no sé), que casi siempre le ahorrará más tiempo que los pocos milisegundos que podría recortar la solicitud manejo mediante el uso de un marco un poco más rápido.

Eche un vistazo al Zend Framework también, tiene la ventaja de ser PHP 5, mientras que Code Igniter sigue siendo PHP 4, según tengo entendido. Eso puede ser un problema cuando se trata de velocidad, pero a favor de qué marco no lo sé. Zend tiene un buen soporte de almacenamiento en caché y un generador de perfiles de base de datos que puede ayudarlo a encontrar dónde están sus cuellos de botella.

8

Sí, el problema es que debe compilar su aplicación para crear un perfil.

En el trabajo teníamos un par de proyectos escritos en el exterior que hemos sometido a prueba antes de ponerlos en nuestras cajas principales. Nos sorprendió bastante encontrar problemas críticos de rendimiento con ambos; uno fue escrito en CakePHP y el otro fue escrito usando Drupal. No creo que esto resalte un problema con cualquier marco o CMS que no sea la necesidad de hacer perfiles y pruebas de carga en cualquier sitio que vaya a tener un tráfico significativo. En ambos casos, fue lo que el desarrollador había hecho, más que las características de la plataforma de software, lo que causó el problema. Por ejemplo, hubo una llamada a función recursiva que el desarrollador había creado en el proyecto Cake que creaba una instancia del objeto Cake completo en cada recursión y que habría sacado el servidor si se hubiera puesto en marcha bajo carga.

En mi opinión, el rendimiento no debe ser un factor decisivo en la elección de un marco; es probable que las diferencias objetivas sean marginales y la forma en que la utilice probablemente cause muchos más problemas de rendimiento que el rendimiento inherente del marco.

Creo que para escalar cualquier aplicación PHP que se ejecute bajo carga, necesitará un caché de código de operación y tendrá que escribir en caché de contenido inteligente usando algo como memcached o cualquier caché incorporado que admita su marco.

1

Theo,

Sí CodeIgniter ofrece almacenamiento en caché. No tengo idea de qué tan efectivo, pero está disponible.

3

Paul M. Jones recientemente ha actualizado su framework benchmarks. Está comparando el rendimiento de una aplicación Hello World en algunos frameworks PHP populares.

Estos son interesantes, pero tenga en cuenta que no dice mucho acerca de una aplicación real.

1

CodeIgniter es bastante rápido para la mayoría de los proyectos. Algunos han publicado aquí y si buscas en Google, encontrarás que se compara favorablemente con otros marcos con respecto a la velocidad.

Estoy de acuerdo con otro afiche que el rendimiento generalmente no es una gran preocupación cuando se trata de la elección del marco. Los principales marcos tienen un rendimiento suficiente para la mayoría de los proyectos.

1

Estará encantado con Codeigniter. Tengo un par de sitios con cargas pesadas y me funciona muy bien.

1

Encuentro codeigniter bastante rápido en comparación con otro framework php.

Su rápida incluso para aprender .. ;-)

Si tiene concepto de MVC, se tarda sólo un par de horas para empezar ....

1

Es posible que desee leer en el THIS THREAD Foros CodeIgniter que compara la velocidad en un sitio completo desarrollado por primera vez con CakePHP y luego reescrito usando CodeIgniter

1

Mantengo un sitio que se cierra de golpe varias veces al año. El año pasado, el equipo de desarrollo reescribió todo el sitio con Codeigniter y tuvimos mucha suerte en términos de rendimiento. Además, el tiempo que llevó realizar la reescritura fue mínimo, ya que este marco es bastante fácil de usar. En mi opinión, CakePHP también es una buena opción si descubres que no te gusta Codeigniter.

1

Para CodeIgniter y otros frameworks PHP, PHP Quick Profiler es muy útil para la evaluación comparativa y la velocidad de medición, especialmente para consultas de bases de datos. Debe verificar esto: php-quick-profiler

Es muy fácil de instalar y proporciona una impresionante GUI para examinar diferentes pruebas de evaluación comparativa.

Cuestiones relacionadas