Acelerar y optimizar un osCommerce

Cuando nuestra tienda comienza a crecer, ya sea en número de productos (Miles) o en número de usuarios simultáneos, uno de los mayores problemas, es la velocidad de carga en nuestra tienda, ya que las filas afectadas en las querys se han multiplicado, y/o los usuarios simultáneos haciendo diferentes consultas disminuyen la capacidad de respuesta del server.

 

  1. Activar la compresión Gzip en el administrador -> configuración (Para aquellos que no la puedan activar vía administrador o usen otro tipo de comercios electrónicos bastaría con poner esta instrucción en sus cabeceras: justo debajo del <?php ob_start(«ob_gzhandler»);La que ya posee el oscommerce es la siguiente:
     
    [sourcecode=php]
    // if gzip_compression is enabled, start to buffer the output
    if ((GZIP_COMPRESSION == ‘true’) &amp;&amp; ($ext_zlib_loaded = extension_loaded(‘zlib’)) &amp;&amp;
    (PHP_VERSION >= ‘4’)) {
    if (($ini_zlib_output_compression = (int)ini_get(‘zlib.output_compression’)) < 1) {
    if (PHP_VERSION >= ‘4.0.4’) {
    ob_start(‘ob_gzhandler’);
    } else {
    include (DIR_WS_FUNCTIONS . ‘gzip_compression.php’);
    ob_start();
    ob_implicit_flush();
    }
    } else {
    ini_set(‘zlib.output_compression_level’, GZIP_LEVEL);
    }
    }
    [/sourcecode]
     
  2. Guardar las sesiones a disco, en vez de al mysql (aunque éste último sea más cómodo y dé menos problemas, es más lento si tenemos muchos usuarios conectados o muchas querys), para hacerlo en nuestros fichero de configuración deberemos dejar la linea store_sessions en blanco, y luego configurar en admin la ruta correcta y con permisos 777, que suele ser «tmp» sin barra, así la podremos alojar en el mismo directorio que la tienda.
     
  3.  Optimizar script para el box de categorias (el que más querys realiza) utilizando el cache de configuración (Solo usar si no se ha cambiado su diseño interno, sino no funcionará) y si es posible no mostrar el contador de productos, ya que es recursivo el script, con ésta contribución bastaría.
  4. Comprimir y redimensionar siempre la imágenes de producto, con el módulo de Smooth pictures
     
  5. Actualizar a MYSQL 5.x y PHP 5.x a sus últimas versiones.
     
      
  6. Si es posible, intentar separar la BBDD MySQL en otra máquina (Solo si sale rentable) y configurarlo en el configure.php el nuevo DB_SERVER
     
  7. Si es posible, intentar separar las imágenes en otra máquina y configurarlo en el .htaccess
  8. Instalar algún debug para ver lo que tardan las querys MySQL en realidad, y ver si se ha mejorado o no, con los cambios efectuados. Algunos módulos recomendados son:

    – http://addons.oscommerce.com/info/2575
    – http://addons.oscommerce.com/info/4689

Ya me comentareis si habéis notado cambio en unos días …

× Habla conmigo