1、安装Fooman Speedster插件
插件官方地址:http://www.magentocommerce.com/magento-connect/FOOMAN/extension/457/fooman-speedster
这款插件主要通过合并、压缩js和CSS来加速,不知道这个和使用Magento自带的合并功能有什么区别。

2、在.htaccess中开启Gzip压缩

在.htaccess的52行左右的位置移除#号

  1. #php_flag zlib.output_compression on

复制代码

将以下.htaccess

  1. ############################################
  2. ## enable apache served files compression
  3. ## http://developer.yahoo.com/performance/rules.html#gzip
  4.     # Insert filter
  5.     #SetOutputFilter DEFLATE
  6.     # Netscape 4.x has some problems…
  7.     #BrowserMatch ^Mozilla/4 gzip-only-text/html
  8.     # Netscape 4.06-4.08 have some more problems
  9.     #BrowserMatch ^Mozilla/4\.0[678] no-gzip
  10.     # MSIE masquerades as Netscape, but it is fine
  11.     #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  12.     # Don’t compress images
  13.     #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
  14.     # Make sure proxies don’t deliver the wrong content
  15.     #Header append Vary User-Agent env=!dont-vary
  16. </IfModule>

复制代码

把一些#号去掉

  1. ############################################
  2. ## enable apache served files compression
  3. ## http://developer.yahoo.com/performance/rules.html#gzip
  4.     # Insert filter
  5.    SetOutputFilter DEFLATE
  6.     # Netscape 4.x has some problems…
  7.     BrowserMatch ^Mozilla/4 gzip-only-text/html
  8.     # Netscape 4.06-4.08 have some more problems
  9.    BrowserMatch ^Mozilla/4\.0[678] no-gzip
  10.     # MSIE masquerades as Netscape, but it is fine
  11.   BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  12.     # Don’t compress images
  13.     SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
  14.     # Make sure proxies don’t deliver the wrong content
  15.     Header append Vary User-Agent env=!dont-vary
  16. </IfModule>

复制代码

3、安装 APC or Xcache
APC – http://pecl.php.net/package/APC
Xcache – http://xcache.lighttpd.net/ 
apc使add to cart两秒内加载的方法
在你安装激活apc之后,找到app/etc/local.xml 文件
在<global>下添加如下block

  1. <global>
  2. ………………..
  3. <cache>
  4. <backend>apc</backend>
  5. <prefix>alphanumeric</prefix>
  6. </cache>
  7. ………………….

复制代码

以上需要注意的是如果你的服务器有超过一个Magento程序,apc在缓存上会有一些混乱
可以试着使每个Magento网站<prefix>alphanumeric</prefix>内容不同
第一个网站<prefix>siteA</prefix>
第二个网站<prefix>siteB</prefix>
提速的重点在于成功安装apc

4、修改Mysql服务器的配置好好利用服务器的内存
绝大部分Linux发行版提供一个保守的mysql包来确保能运行在大范围的硬件上。如果你有足够的内存(比如,1gb或者更多),接着你可能会想调整设置。一个my.cnf的示例如下,

  1. key_buffer = 512M
  2. max_allowed_packet = 64M
  3. table_cache = 512
  4. sort_buffer_size = 4m
  5. read_buffer_size = 4m
  6. read_rnd_buffer_size = 2m
  7. myisam_sort_buffer_size = 64m
  8. tmp_table_size = 128m
  9. query_cache_size = 96m
  10. query_cache_type = 1
  11. thread_cache_size = 8
  12. max_connections = 400
  13. wait_timeout = 300

复制代码

5、Magento缓存
转到Magento admin->system->Cache management
选中以下条目:
— Configuration
— Layouts
— Block HTML output
— Translations 
以下条目就不用选中了
— Collections Data
— EAV types and attributes
— Web Services Configuration 
6、开启编译
转到System > Tools > Compilation,报道称能给你提速25%-50%。

7、使用cdn加速
你可以使用Magento插件来帮助你
http://www.magentocommerce.com/magento-connect/One+Pica/extension/1279/one-pica-image-cdn

其他关于前端模板代码方面的优化如图片优化、使用CSS Sprite等论坛其他帖子。

以上方法整理来源于以下网站:
http://www.magentocommerce.com/boards/viewthread/36225/
http://www.gxjansen.com/101-ways-to-speed-up-your-magento-e-commerce-website/

8. 将magento的var目录挂载到内存中,加快读取速度,如
mount -t tmpfs -o size=100M,mode=0777 tmpfs var

9. 打开apache的KeepAlives,可以让多个请求使用一个TCP连接,加快速度
修改/etc/httpd/conf/httpd.conf: KeepAlive On

10. Magento1.5中可以开启CSS和JS合并
SYSTEM -> CONFIGURATION / ADVANCED -> DEVELOPER
enable
Merge JavaScript Files set to Yes
Merge CSS Files set to Yes

11. 增加PHP Memory Limit
如果2G内存,可以通过修改php.ini 将memory_limit设置为128MB

0.00 0.00 0.00 1/103
这个负载值格式是:一分钟、五分钟、十五分钟 的负载情况值。这个数字,是系统每隔5秒钟检查一次活跃的进程数,然后根据相关数值计算出负载值。

单核CPU,数值不超过3算是正常现象,当然在多核的情况下,在高负载时,使用当前负载(5分钟)除以CPU核心数,数值不大于3,表示压力不大,数值大于3小于5,表示适中,大于5,说明CPU已经进入高负荷阶段。

当然这只是一个粗略的计算方法,具体情况,还是要根据实际情况衡量。

什么情况下会加大系统负载?

1、磁盘I/O慢,CPU等待时间长
2、并发数据量大
3、进程没有进入等待模式/或等待终止
1/103
活动进程数/总进程数

如何确认是否受到DDOS攻击?

执行:

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
执行后,将会显示服务器上所有的每个IP多少个连接数。

以下是我自己用VPS测试的结果:

li88-99:~# netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
1 114.226.9.132
1 174.129.237.157
1 58.60.118.142
1 Address
1 servers)
2 118.26.131.78
3 123.125.1.202
3 220.248.43.119
4 117.36.231.253
4 119.162.46.124
6 219.140.232.128
8 220.181.61.31 VPS侦探 http://www.vpser.net/
2311 67.215.242.196
每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。

POP3/SMTP协议

接收邮件服务器:pop.exmail.qq.com ,使用SSL,端口号995
发送邮件服务器:smtp.exmail.qq.com ,使用SSL,端口号465
海外用户可使用以下服务器
接收邮件服务器:hwpop.exmail.qq.com ,使用SSL,端口号995
发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465
IMAP协议
接收邮件服务器:imap.exmail.qq.com ,使用SSL,端口号993
发送邮件服务器:smtp.exmail.qq.com ,使用SSL,端口号465
海外用户可使用以下服务器
接收邮件服务器:hwimap.exmail.qq.com ,使用SSL,端口号993
发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465
  • 客户可以在工作场所从一个浏览器会话添加到他们的购物车的产品,然后使用手机查看和更改他的购物车的产品配置,然后在家中的另一台计算机上完成交易。当他们尝试从多个浏览器会话中访问他们的购物车,持久购物车降低了消费者的挫折。此功能还可以让商家提供推广,根据预先定义的分割规则,鼓励消费者将项目添加到购物车,并完成他们的购买。

编辑注:该功能始于Magento Enterprise 1.0,1.1改进,现已添加至Magento CE 1.60。

日前Google发布了一份网页统计报告,来源于他们索引的42亿个网页(PageRank高的网站占的权重可能会比较高):

—网页的平均容量是320KB(包含网页里内嵌的脚本、图片、CSS),不过需要注意的是有些网站会通过robots.txt阻止Google爬虫索取CSS和JS脚本文件

—只有2/3的可压缩内容真正被压缩了,同样需要注意的是有些网站为真正的浏览器提供压缩内容,而给Google爬虫看的则是未压缩的

—80%的页面里包含10个或10个以上的同一主机里的素材

—大部分流行网站并没有将同一主机里存放的脚本和CSS都写到一起,导致多出8个HTTP请求

—每张网页里包含的图片数量是29.39个,加在一起有205.99KB

—每张网页里包含7.09个外部脚本和3.22个外部CSS,平均脚本大小是57.98KB,CSS是18.72KB

—只有1700万张网页使用了SSL加密,占总数的0.4%

—平均网页加载速度为4.9秒,需要请求49个不同的来源

Google此举是为了提高大家对网页读取速度优化的重视程度,他们为网页开发者提供了很多帮助指南,来提高效率。Google给出的主要建议有四点:

—使用Gzip压缩页面

—使用HTTP缓存

—优化JavaScript代码

—合并脚本和CSS

Magento数据库迅速膨胀,主要是由于一些日志数据的剧增,可以通过Magento自身的cron定时清理日志。
另外一种又快又好的办法是执行SQL清理,如下:
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;
数据库清理数据有风险,请注意备份好数据库。