Monthly Archives: 六月 2016

Magento影响性能的万恶之源:菜单导航栏

来个新公司,给了一个任务就是性能优化~~~~这是个艰苦又漫长的痛苦过程·~~~~~~~~不过在今天终于解决了,现在网站打开TTFB几乎都是ms等级,整体下来都是1S-3s,真有成就高

,首先服务器是使用linode的16档位:

yiki_baobao_1465958355245_66

我就直接说重点:其实Magento优化最明显的是源码上的,例如我公司网站,我开启profile发现,菜单导航栏竟然占了很大的资源,我就直接把他给静态化等优化操作·~~~发现网站N个等级的快了·~~·~~所以记得分析你们的profile记录

同时还有运用上redis这东西,这有缓存的话,能让你们网站打开成MS等级哦·~~~其他那些服务器优化等等,网上大把这里就不说了

Magento 自定义运费

其实我写这边文章是解决公司小包运费价格和重量的问题~~~~不过从中学习到好多关于运费的思想·~~~首先运费就是大概是使用了组合模式,让第三方的运费方式可以直接foreach处理~~~~不过大家要主要的是其实原生方式中没有一个特别限制重量的方法~~~更多是自己自定义限制~~~~同时我要吐槽下一个插件AMASTY 有一个Shipping Restriction来限制运费的重量的功能~~~~而且是使用了观察者模式来修改的·~~(万恶的观察者模式啊~~~app/code/local/Amasty/Shiprestriction/Model/Observer.php和app/code/local/Amasty/Shiprestriction/Model/Shipping/Shipping.php~~)~~~~am_shiprestriction_rule这个表会有一个序列化的数组


同时发现在app/code/core/Mage/Sales/Model/Quote/Address.php的

    public function getShippingRatesCollection()
    {

        if (is_null($this->_rates)) {
            $this->_rates = Mage::getModel('sales/quote_address_rate')->getCollection()
                ->setAddressFilter($this->getId());
            if ($this->getQuote()->hasNominalItems(false)) {
                $this->_rates->setFixedOnlyFilter(true);
            }
            if ($this->getId()) {
                foreach ($this->_rates as $rate) {
                    $rate->setAddress($this);
                }
            }
        }
        return $this->_rates;
    }

Mage::getModel(‘sales/quote_address_rate’)->getCollection()会取Sales Flat Quote Shipping Rate表中的数据的,然后给我灵感查找数据库~~~发现那万恶的插件~~~~(之前那magento工程师你什么文档都不留下,我们出来谈谈,保证不打死你)


同时附上自定义运费的方式

http://inchoo.net/magento/custom-shipping-method-in-magento/

网站SSL证书过期处理

今天网站的SSL证书过期了~~~~之前安装过SSL证书,没想到终于有机会去处理更新了~~~下面总结下处理的步骤:

1.当然就是续费,SSL认证商我是使用了Godaddy的~~所以去续费每年519人民币

2.更新CRT证书,

下载证书的时候压缩包内容类似如下图

QQ图片20160523195944

正常情况下nginx配置SSL需要key和crt文件即可。

这里有两个crt所以需要进行证书合并操作。

打开终端,执行以下命令:

cat 53f58e3ac2172cd5.crt gd_bundle-g2-g1.crt > domain.crt

~使用其他域名商就找到原来的2个CRT 证书覆盖,重启WEB就好了·~