info@digitallsolutions.it       +39 0824 977419

Prestashop 1.6.1.0: ecco le principali novità

La versione di Prestashop 1.6.1.0 porta in sé tanti cambiamenti, primo tra tutti l'interfacciamento al database, ma non solo.

Cerchiamo di capire meglio grazie alla nota ufficiale di rilascio.

 

I - Quali sono le novità di Prestashop 1.6.1.0?

Le caratteristiche già presenti che sono state migliorate sono le seguenti:

Design, Fatturazione, Ricerca e Prestazioni

Il team ha fatto un gran lavoro per migliorare le prestazioni, raggiungendo in alcuni casi anche prestazioni di 10 volte più efficienti.

II - Quali funzioni di Prestashop sono state ottimizzate?

1) Prestazioni migliori in Single-threaded

I colli di bottiglia del Php sono stati intercettati grazie ad alcuni tool (che vi citeremo successivamente) , ed andavano ad incidere sul caricamento delle pagine, la gestione del Seo e sulla soddisfazione generale del cliente. Sotto l'aspetto del php, con la cache disattivata, dopo aver lanciato una ricerca su un negozio vero e proprio, siamo riusciti a raccogliere tutti i dati di cui avevamo bisogno in pochi minuti:

p1

anche a livello sql

p2

Grazie a questi risultati sono state riscritte un gran numero di query sql, per migliorare la loro rapidità di esecuzione, e quindi è stato ottimizzato il core php rimuovendo i colli di bottiglia evidenziati in precedenza.

2) In multi-threaded prestazioni ottimizzate

Insieme al grande lavoro sull'ottimizzazione delle prestazioni delle query, si è lavorato anche sulle query sql per essere certi di fare un uso più efficiente della query cache di MYSQL, e sono stati finalmente sistemati alcuni problemi nella cache di prestashop. Prima di questo aggiornamento l'utilizzo della cache in Prestashop ne peggiorava le prestazione. Questo adesso non succede più.

3) Ottimizzazioni specifiche per multi-front / ambiente cloud

Attualmente Prestashop utilizza Smarty per gestire la cache dei Template. Se si utilizzano diversi front server, Smarty forza la centralizzazione della sua cache in un filesystem condiviso (NFS). E' stato aggiunto per questa evenienza un modulo smarty personalizzato, il quale funziona perfettamente con una cache smarty locale (senza aver bisogno di NFS). Inoltre la nostra implementazione riduce i casi in cui la cache da errori: invece di svuolare tutti i file in una volta, ogni template svuota in maniera asincrona. Questo rende più veloci tutte le operazioni di back office.

4) Migliori prestazioni di back office

Sono state risolte le problematiche più fastidiose nel backoffice:

* Le importazioni

E' stato fatto un grande lavoro per ottimizzare l'importazione dei prodotti. Provate subito questo miglioramento importando molti prodotti.

* Indicizzazione ricerca

Abbiamo migliorato sia l’utilizzo della memoria sia la velocità dell’indicizzazione della ricerca.

*Risolti i problemi con le regole del carrello o delle categorie.

Le regole del carrello e le categoria sono adesso caricate in modo asincrono.

 

III - Passiamo ai Benchmark

1) La configurazione utilizzata

Per fare questo benchmark abbiamo scelto di usare a server mini HG dedicato su OVH, il quale ha offerto ottime prestazioni a un prezzo relativamente accessibile:


• CPU : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz (8 cores, 16 threads)
• Memory : 64GB
• Disk : 2x SSD 600GB
• RAID Controller : LSI MegaRAID SAS 9271-4i CacheVault 1G FastPath


Abbiamo usato una versione di Debian Jessie, con il packages standard, e una versione adeguatamente ottimizzata:


Apache 2.4.10, conmpm_event con la seguente configurazione:

ServerLimit             16
MaxClients              400
StartServers            3
ThreadLimit             64
ThreadsPerChild         25
MaxRequestWorkers       400
MaxConnectionsPerChild  0
PHP 5.6.7 & APCu + Zend OpCache v7.0.4-dev in PHP-FPM mode con la seguente configurazione:
pm =                    dynamic
pm.max_children       = 400
pm.start_servers      = 75
pm.min_spare_servers  = 50
pm.max_spare_servers  = 100
MariaDB 10.0.0.19, con la seguente configurazione :
performance_schema                    = OFF
innodb_lock_wait_timeout              = 120
default_storage_engine                = InnoDB
max_allowed_packet                    = 16M
key_buffer_size                       = 128M
table_cache                           = 4096
read_buffer_size                      = 2M
read_rnd_buffer_size                  = 1M
thread_cache_size                     = 80
join_buffer_size                      = 2M
sort_buffer_size                      = 2M
max_connections                       = 400
tmp_table_size                        = 32M
max_heap_table_size                   = 32M
table_definition_cache                = 8192
query_cache_size                      = 32M
innodb_buffer_pool_size               = 3G
innodb_log_file_size                  = 128M
innodb_log_files_in_group             = 2
innodb_log_buffer_size                = 8M
innodb_flush_log_at_trx_commit        = 2
innodb_thread_concurrency             = 32
innodb_read_io_threads                = 8
innodb_write_io_threads               = 8
innodb_flush_method                   = O_DIRECT
innodb_file_per_table                 = 1
innodb_io_capacity                    = 2000
innodb_file_format                    = Barracuda
innodb_buffer_pool_dump_at_shutdown   = ON
innodb_buffer_pool_load_at_startup    = ON
innodb_checksum_algorithm             = crc32
innodb_log_compressed_pages           = 0
# SSD
innodb_flush_neighbors                = 0
# Mutex contention
innodb_adaptive_hash_index_partitions = 16
innodb_buffer_pool_instances          = 16


Abbiamo configurato un negozio vero e proprio con:
• 1827 categorie
• 10843 regole carrello
• 1904 prodotti
• 2M attributi di prodotto
• 16.5M combinazioni di attributi


Quando il sistema Memcached è in uso, configurato sul server locale utilizza 128mb di ram.
I risultati dei benchmark dei single-threaded e dei multi-threaded sono in media di 5“ siege – i -b -t 20S” (20s benchmark), e questo ha un impatto diretto sulle pagine sia in termini di navigazione e sia in termini di SEO.


• Pagina di categoria
• Pagina prodotto
• home page
• Pagina carello
• Pagina miglior prezzo
• Pagina di ricerca tag
• Pagina produttori
• Pagina nuovi prodotti
• Pagina gestione prezzi
• Pagina fornitori
• Pagina di ricerca

 

2) I Risultati 

a) Prestazioni Front-Office

Prima, le prestazioni in single-threaded :

Sembra molto promettente: miglioramenti di 10 volte quando il sistema memcached è attivo.

Diamo un’occhiata a questi altri grafici di confronto:

p3

p4

Anche senza alcuna cache, la versione 1.6.1.0 va molto meglio della 1.6.0.14, è più veloce del 65% con 15 connessioni simultanee.

aa

Se abilitiamo la cache delle query, la 1.6.1.0 è ancora più rapida del 50% con 10 connessioni simultanee.

bb

Finalmente è stato definitivamente sistemato il problema della gestione della cache che affliggeva le precedenti versioni di Prestashop. Risultati 10 volte migliori con 10 connessioni simultanee.

Qui ci sono le prestazioni a confronto, a 10 connessioni simultanee:
p5

Se abilitiamo la cache delle query, la 1.6.1.0 è ancora più rapida del 50% con 10 connessioni simultanee.

Si è raggiunto un miglioramento di 10 volte superiore con 10 connessioni simultanee.

Qui un altro grafico con le prestazioni a confronto, a 10 connessioni simultanee:

p6

b) Prestazioni di backoffice


Questi invece i risultati del backoffice.

Reindicizzazione della ricerca completa :
p7

p8

Dal punto di vista delle prestazioni, quando la memcached è abilitata, la 1.6.0.14 va in timeout dopo 900 secondi, e consuma più di 128mb di memoria. Quando memcached è disabilitato, la 1.6.1.0 è 2,3x più rapida della 1.6.0.14, consuma 1,7x di memoria in meno, e raggiunge l'obiettivo anche con i multi attributi. Non male!


Velocità di importazione :

p9

Anche se questi risultati non sono rilevati dalla stessa macchina, ho deciso di includerli lo stesso per mostrarvi la velocità di importazione che potete aspettarvi con la 1.6.1.0 (qui almeno 5 volte più veloce).

Adesso andiamo a misurare il tempo di caricamento di qualche pagina di backoffice.

Ecco il tempo di caricamento delle pagine

Modifica prodotto :

p10

Regole del carrello :

p11

IV) Conclusioni


1.6.1.0 è una major release (le differenze sono sostanziali con la versione precedente) in termini di prestazioni, con miglioramenti in termini di rapidità fino a 10 volte in alcuni casi.
Per ottenere questi risultati abbiamo lavorato a stretto contatto con il team prestashop, modificando circa 6600 righe di codice in pochi mesi. Ci auguriamo che sarete soddisfatti con questa versione, e non esitate a segnalare eventuali problemi di prestazioni su forge.prestashop.com.

Da notare che in 1.6.0.14 è consigliato di non abilitare la cache di prestashop, in 1.6.1.0 si consiglia invece di attivarla, con un server memcached locale. (APC dovrebbe comunque funzionare bene).

Articolo originale in lingua inglese scritto da Jocelyn Fournier fondatore di Softizy  un’azienda specializzata in ottimizzazione Php e MySQL application, dal codice, al database.

 

Lascia i tuoi commenti

Posta commento come visitatore

0

Persone in questa conversazione

  • Ospite - profile

  • Ospite - aa123

    the world's fashion replica watches biggest race. Yellow trim along the frames of both the Jawbreaker and the Radar commemorate the leader's jersey at the Tour.There's also a new special edition of the Radar Pace,Replica fake replica handbags Oakley's smart eyewear. The Radar Pace features a voice-activated coaching system that aims to change fake uk watches riders' training habits with more feedback. The Radar Pace.

  • Ospite - iean

    Switzerland famous watch brand Tissot as rolex replica the NBA official timing partner, the joint NBA jointly launched the replica watches exciting Tissot "lore time" Challenge. The competition was replica rolex held in Beijing from August 19 to 20, bringing sunshine heat to rolex replica watches the recently blooming Beijing city.

  • Ospite - flyen

    Bamboo straw handbags have always been in christian louboutin outlet uk trend for some time but just as michael kors outlet uk the saying goes, fashion evolves and the oldies are now the ‘newbies’. This is also the case with the bamboo straw handbags which are Longchamp Outlet making a heavy comeback but with the shape of the biblical ark built by mulberry replica handbags Noah, hence the name, straw ark bamboo clutch.

  • Ospite - annlike

    En 1936, toute l'Europe, en particulier l'Allemagne nazie, a accéléré le rythme de la militarisation. Cela a incité l'horloger allemand Hanhart en 1938 a développé son premier chronographe, l'année prochaine, la marque a de nouveau lancé une nouvelle version, la même forte et efficace,replique montre et Ajouter à la fonction flyback. Exceptionnel, deux boutons chronométrés ne concernent pas la symétrie de la couronne, l'un d'eux est encore rouge. Un autre horloger allemand, Tutima, également au mouvement Hanhart pour produire un chronographe flyback. Après la fin de la Seconde Guerre mondiale, dans le cadre de Le Warren, Hanhart a été confisqué au nom de la marque française Vixa. Vixa a manqué les machines horlogères de Hanhart, mais a eu le mouvement du produit fini, puis la marque a été utilisée pour équiper le chronographe Type 20 des années 1950. Breitling Montre Comme les chronomètres de Hanyart et Tutima, les chronographes de Vixa sont facile à reconnaître, et les deux boutons temporisés ne sont pas symétriques sur la couronne d'accord.À l'époque, de nombreuses marques de montres comptent pour que l'armée de l'air française fournisse des chronographes à décollage manuel, Vixa était l'un d'entre eux, Auricoste, Breguet et Dodane, ainsi que les marques affiliées Chronofixe et Airain de façon impressionnante. Réglementations spécifiques élaborées par le Ministère de la Défense et le Ministère de l'Armement: 38 mm de diamètre, 14 mm d'épaisseur, avec une lunette tournante (à l'échelle), Hublot Montres un rouleau et un chronographe, avec une fonction flyback. Cela signifie qu'en appuyant sur le bouton , la référence temporelle est immédiatement mise à zéro, plutôt que la séquence normale d'arrêt, de réinitialisation et de démarrage

  • Ospite - 123123

    The U.S Open kicked off on Monday (28Aug17) and runs until 10 September. Ralph lauren outlet has been the official brand behind the outfits since 2005, dressing everyone from ball persons to on-court officials, and there’s even a collection dedicated to this year's event with pieces including T-shirts, hoodies and tennis dresses.Most times she would source for fabric she likes to make into baju kurung and other clothes. The founder of Tsar, a company that sells handmade cheap louis vuitton bags and shoes, was inspired to set up her business during a trip to West Africa.The fabrics were stiff and thick. Usually they were worn by the West Africans as traditional wear."Even on a cloudy day, harmful UV rays are still present so it's important that your sunglasses are doing an essential job of protecting your eyes," they say.Many cheap ray ban sunglasses, even the same pair, are available in a variety of sizes. The Colombian-American designer whose father operated a crocodile farm when she was a child has been making handbags from leather and exotic skins for several years, but this is her first foray into footwear and her first time selling with Moda, an online retailer that deals exclusively with high-end brands.Deepika and Kareena go samesies on their favorite Hermes Birkin! Deepika has the same replica hermes bags in a lighter tan-brown color that she pairs with all her white and beige costumes. Her bag costs a staggering Rs 8.26 lakh!

  • Ospite - profile

  • Ospite - profile

La nostra Società

Ci occupiamo di Realizzazione siti web, Web Marketing, E-commerce, Indicizzazione SEO/SEM dal 2006 e siamo in continuo aggiornamento perché in fondo si sà, nessuno è mai andato lontano nel mondo semplicemente accontentandosi.

Restiamo in contatto

Ricevi per primo le notizie

Siamo presenti su