magento品质优化的科目(十分详细)

php配置优化

extension=bcmath.so

[client]
#default-character-set=utf8

;;extension=pdo_sqlite.so

eaccelerator.shm_size = “256”

apc.max_file_size=5M

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql
3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8
#init_connect=’SET NAMES utf8′
default-storage_engine = innodb

KeepAlive off

zend_extension=”/usr/lib64/php/modules/eaccelerator.so”

关闭没有行使的原生模块。

extension=xmlwriter.so

上面所要讲的, 也是PHP中优化的重大, 将会讲到三种艺术,二选一就行了,
切忌, 不可能同时使用二种方案

日志太大,执行如下sql:

# To allow mysqld to connect to a MySQL Cluster management daemon,
uncomment
# these lines and adjust the connectstring as needed.
#ndbcluster
#ndb-connectstring=”nodeid=4;host=localhost:1186″

apc.user_entries_hint=10000

在Magento的优化中,
Mysql的优化是很要紧的,在Magento的官方网给出了关于Mysql的优化,
官方网并没有要我们把Mysql的蕴藏引擎改为innodb,
但我觉的得那是很有必不可少的,当改成innodb后,还得把Mysql的布局文件修改修改下,
有时依据官方的文档来并不可能学有所成, 那时就要看你的环境而定了,
上面给出我所计划的mysql文件给大家参考:

禁用 ETags
ETags(Entity
tags)是服务器和浏览器的一个效益,它用来判断浏览器缓存里的因素是或不是和原来服务器上的同等。ETags比last-modified
date更拥有弹性,它用一个无比的字符串来标识一个元素的本子。
要关闭它很不难,做法如下:
FileETag none

启用 Header Expires 模块

系统应用最小化安装,仅安装必需的软件包,不装GUI/X-Window等
悬停或剥夺无需使用的服务,比如cups
调优内核参数: (例如)
# echo ‘8192’ > /proc/sys/fs/file-max
# echo ‘32768’ > /proc/sys/fs/inode-max
# echo 268435456 > /proc/sys/kernel/shmall
(SHMALL可用共享内存的总数据 单位:字节or页面[假如若字节,就和 SHMMAX
一样;如若是页面,ceil(SHMMAX/PAGE_SIZE)] )
# echo 268435456 > /proc/sys/kernel/shmmax
#ulimit -n 4096

在此间还要一些无法不的Apache模块

敞开 Javascript 及 CSS 文件整合功用可以把通过 layout 加载的三个Javascript 和 CSS
文件分别构成。那样做的补益是能够减小资源请求数量,加快下载速度,下降服务器负责。

6,  mod_rewrite.so     那几个模块很重点, 当设置Magento地址重写时,要用到

二,安装eaccelerator加速器,功用跟APC类似, 在那就不多说了。

;;extension=wddx.so

设置 CRON-JOB 定期清理 Log 音信。

ServerTokens OS

ServerRoot “/etc/httpd”

打开 magento 根目录下的 .htaccess文件,定位到<IfModule
mod_expires.c></IfModule>块之间,例如

;;extension=mysqli.so

PidFile run /httpd.pid

注意:

一,安装APC扩展, APC, 用来优化PHP本身, 提高PHP的运转速度

;;extension=xsl.so

是因为一般浏览器对同样域名的产出请求数量都有限定,那样即使页面上有很多资源要求加载,也只能一个个地从服务器中读取,不可能到位同时加载三个资源,影响页面渲染效能。

extension=gd.so

MaxkeepAliveRequests 100

magento后台设置

敞开产品及产品分类的 Flat 功效。

extension=pdo.so

MaxSpareServers    150

MaxClient                  256

是因为模块之间具有涉及,不是各类模块都能成功真正独立,部分模块关闭后或者导致后台现身难题。为了便于开发,在此处整理了一些方可简单落成安全关闭的原生模块。

;;extension=dbase.so

只是归于根本,最大的优化来自于对模板,对代码,对block的优化。

事无相对, 当你的种类环境急需某个增添时, 可以依据必要开启

MinSpareServers      100

8, libphp5.so            你有可能用的是php4, 那就得改成libphp4.so

后台开关路径为 System / Configuration > ADVANCED / System > Log
Cleaning / Enable Log Cleaning。

好了, 到那就讲完了, 那章其实对Magento的优化不大, 但有些模块又不可能少,
少了, Magento后台可能出难题

翻开方法是到后台 System / Configuration > CATALOG / Catalog >
Frontend 中,分别将 Use Flat Catalog Category 和 Use Flat Catalog
Product 设成 Yes 并保留。

拉开 Javascript 及 CSS 文件整合效能。

;;extension=smlreader.so

3,  mod_deflate.so

翻开这些功能后系统会为产品和产品分类的种种集团视图建立独立的多寡表以储存相关属性的数据,在编辑产品和分类新闻的时候也会同时创新这么些数据表。
前台要收获产品数量的时候,程序从那一个独立的表中读取数据,而无需从多少个 EAV
关联表中读取。这样做可以通过收缩数据表的联立查询,有效地加强前台对产品数量的查询速度。

(继续)

评释: DEFLATE
输出过滤器,允许服务器在将出口内容发送到客户端往日举行削减,以节省带宽

关闭系统 Log 功用。

后台开关路径分别为 System / Configuration > ADVANCED / Developer >
JavaScript Settings / Enabled 和 System / Configuration > ADVANCED /
Developer > CSS Settings / Enabled。

mod_deflate模块,将text、 css 和 javascript
先举办削减再发送到浏览器。那样就会收缩互联网下载量,收缩等待时间,示例如下:

留意:这一配置在Litespeed servers无效
浏览器选取 Expires
Headers来规定页面组件能够被缓存多久。静态的部件,如图像,可以设置为永可是期,但依旧提议安装一个Expires
Headers。要打开那个特性,能够打消注释对应的行并添加”ExpiresActive On”
如下所示:

前方优化

extension=pdo_mysql.so

;;extension=json.so

 

4,  mod_mime.so

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
text/javascript
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
dont-vary
    Header append Vary User-Agent env=!dont-vary
</IfModule>

(继续)

7,  mod_log_config.so

# Required extensions

1,  mod_authz_host.so

 

编译 apache HTTP服务器

 

apc.num_files_hint=10000

ExpiresActive On
    ExpiresDefault “access plus 1 year”

 

;;extension=sqlite.so

 

truncate dataflow_batch_export;
truncate dataflow_batch_import;
truncate log_customer;
truncate log_quote;
truncate log_summary;
truncate log_summary_type;
 
truncate log_url;
truncate log_url_info;
truncate log_visitor;
truncate log_visitor_info;
truncate log_visitor_online;
 
truncate report_viewed_product_index;
truncate report_compared_product_index;
truncate report_event;
 
set foreign_key_checks = 0;
truncate index_process_event;
truncate index_event;
set foreign_key_checks = 1;

编译必须模块时利用静态编译的章程来替代DSO(动态共享对象)方式,并且禁用无需接纳的模块:
./configure –prefix=/usr/local/apache2 –disable-status
–disable-userdir –disable-threads
–disable-ipv6 –enable-modules=’ssl so rewrite deflate headers expires’

 

(继续)

一, 对于Magento所需的增添, 只开启所需的就可以了

开启系统缓存。

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault “access plus 1 month”
    ExpiresByType image/x-icon “access plus 1 month”
    ExpiresByType text/html “access plus 1 month”
    ExpiresByType text/plain “access plus 1 month”
    ExpiresByType text/css “access plus 1 month”
    ExpiresByType application/x-javascript “access plus 1 month”
    ExpiresByType application/x-shockwave-flash “access plus 1 month”
</IfModule>

 

6、安装php加快器,如APC,XCACHE,eAccelerator,安装方式参考相关的网站

ServerLimit               256

简言之的linux优化提示:

extension=memcache.so

extension=dom.so

在安装好Apache后, 我们仍可以让Apache识别以php为后缀的文件

当大家设置好Magento时,
为了加快Magento的快慢,大家一般还要做一些对此Magento服务的优化,
来升高Magento被访问的速度。 一般大家会从四个角度去考虑Magento的优化,
如: 安装Magento的系统; Magento模板中的代码; Magento所用到的数据库。
在那大家珍惜讲的是Magento系统的优化

mysql配置优化,丰富发挥你的硬件资源,上边的数值要按照你的配备调整

Magento
页面开始化的时候会招来和归并所有组件的配备文件,并把那么些零部件的在数据库中的版本与布局文件的本子举办对比,进一步执行组件的立异操作。不管打开的页面
中是不是会选取到,系统都会对持有开启的机件执行这个干活儿。明显,如果把品种中从不动用的模块也一同入伙先导化是很浪费资源的,可以把不用的原生模块关闭
掉。

#vi httpd.conf

FileETage None
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 5

AddType application/x-httpd-php .php .phtml

后台开关路径为 System / Configuration > ADVANCED / Developer > Log
Settings / Enabled。

为 Skin、Media、Javascript 设置 CDN 或者不一致的子域名。

Magento是一套专业开源的电子商务系统,Magento设计得万分灵活,具有模块化架构种类和增加的职能但有朋友会发现此模块用到了会发现那一个的款款了,那么下面大家来看有关magento品质优化的事例。

apc.shm_size=256

Magento 系统的 Log
功用会把部分运转音讯或出错新闻记录到硬盘中。这一个音讯一般只在网站开发阶段才会用到,并且可能造成频仍的
I/O 操作,影响程序运行功效。因而网站上线后应该把此功效关闭。

禁用 Etag,启用 KeepAlive

此地主要讲的是,自己编译的Apache, 而如果是系统自带的话,
Apache所需的模块, 系统会自动加载。

Magento 的 Log
模块会将一些网站访问记录、用户登录新闻、购物车修改情形等记录到数据库中。那么些多少多了就会让数据库变得很臃肿,卓殊影响多少读取速度。由此大家相应敞开
log 音讯自动清理成效,并安装 CRON-JOB 定期举办清理。

2,  mod_expires.so

mount -t tmpfs -o size=100M,mode=0777 tmpfs var

extension=mhash.so

开拓 magento 根目录下的 .htaccess文件,定位到<IfModule
mod_deflate.c></IfModule>块之间,
将 其中的注明行开启,例如:

 

KeepAliveTimeout 15

开拓 magento 根目录下的 .htaccess文件,移除FileETage
None行的注解,倘若在httpd.conf没有启用KeepAlive,可在那里新增几行,例如

key_buffer_size = 512M
max_allowed_packet = 64M
table_cache = 512
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 64M
tmp_table_size = 128M
query_cache_size = 96M
query_cache_type = 1
thread_cache_size = 8
max_connections = 400
wait_timeout = 300
5、将magento的var目录挂载到内存中,加速读取速度,如

[Magento]
max_connections = 1000
max_connect_error = 10
table_cache = 1024
max_allowed_packet = 16M
max_heap_table_size = 64M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 8
thread_concurrency = 8
query_cache_size = 64M
query_cache_limit = 2M
tmp_tables_size = 64M
key_buffer_size = 32M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_max_extra_sort_file_size=10G
myisam_repair_threads = 1
myisam_recover
innodb_additional_mem_pool_size = 16M
innodb_log_buffer_size = 8M
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_buffer_pool_size = 3G
innodb_data_file_path = ibdata1:3G;ibdata2:1G:autoextend
innodb_autoextend_increment=512

# APC configuration apecifics if it is used

 Apache优化

extension=mysql.so

StartServers                100

Magento是在PHP环境下支付的,
所以优化PHP对Magento有着不小的震慑,上边是Magento标准的PHP配置。

[mysqld_safe]
log-error=/var/log/mysqld.log

为了更好地使用那项设置,开发的时候应该尽量把 Javascript
整理到剧本文件里并经过 layout
举办加载,那样开启设置后拥有的脚本都能只经过三回呼吁便加载完结了。

extension=mcrypt.so

 

Timeout 120

后台装置路径分别为 System / Configuration > GENERAL / Web >
Unsecure 及 System / Configuration > GENERAL / Web > Secure 下的
Base Skin URL、Base Media URL 和 Base JavaScript URL。

设置好eaccelerator后,将会爆发eaccelerator模块

Listen *:80

# Not  needed extensions from default setup

可以说开启系统缓存是最实用的提速措施,因为打开后可以把起首化和逻辑统计的结果直接保存到缓存中,跳过无数重新的主次操作,最直白地节约程序运行时间和资源。

 

敞开缓存的艺术是到后台 System / Cache Management
页面的列表中勾选须要缓存的连串,再接纳列表右上角 Actions 的 Enable
并点击 Submit 按钮。

MaxRequestsPerChild  40000

下边的片段增添并不需求开启, 大家得以把它们关闭

 

启用 mod_deflate 模块

extension=apc.so

extension=curl.so

5,  mod_dir.so

# Insert filter on all content
    SetOutputFilter DEFLATE
    # Insert filter on selected content types only
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
text/javascript application/javascript
 
    # Netscape 4.x has some problems…
    BrowserMatch ^Mozilla/4 gzip-only-text/html
 
    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
 
    # MSIE masquerades as Netscape, but it is fine
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 
    # Don’t compress images
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
dont-vary
 
    # Make sure proxies don’t deliver the wrong content
    Header append Vary User-Agent env=!dont-vary
sqlite, 
    # enable resulting html compression
    php_flag zlib.output_compression on

启用Expires Headers

;;extesnion=zip.so

网站地图xml地图