您的位置:首页 > 编程语言 > PHP开发

CakePHP: tips on ssl, mysql load balance, master/slave, xhprof benchmark tool

2011-06-03 00:50 691 查看
1. CakePHP Master/Slave

*) add default(slave as for query) setting in database.php, and master for saving

*) define a new replicate behavior

<?php

class ReplicationBehavior extends ModelBehavior {



public function beforeSave($Model) {

$Model->useDbConfig = 'master';

}



public function afterSave($Model) {

$Model->useDbConfig = 'default';

}



public function setServer($Model, $server) {

$Model->__backupConfig = $Model->useDbConfig;

$Model->useDbConfig = $server;

}



public function afterFind($Model) {

if (!empty($Model->__backupConfig)) {

$this->useDbConfig = $Model->__backupConfig;

}

$Model->__backupConfig = null;

}



public function save($data = null, $validate = true, $whitelist = array()) {

$this->Replication->beforeSave($this);

return parent::save($data, $validate, $whitelist);

}



}



?>

*) set $actAs to have replicate behavior in your base app model

$actAs = array('Replicate');



*) call the setServer method in your controller to determine which database you want to use for instant query after save

if ($this->Deal->saveAll($this->data, array('validate'=>'first'))) {

$this->Deal->setServer('master');

$deal = $this->Deal->find('first',array(

'conditions' => array('slug' => $this->data['Deal']['slug']),

'fields' => array('id')

));



2. how to use xhprof (a php benchmark tool developed by facebook)
http://techportal.ibuildings.com/2009/12/01/profiling-with-xhprof/
3. MySQL load-balancing
http://www.zeus.com/community/articles/building-mysql-load-balancing-proxy-trafficscript
4. ssl

consolidate secure operations to single domain: https://lang.secure.jigocity.com
keep track of referer links in http header

redirect back to the original referer when done



5. image compression
http://spriteme.org/
This is a CSS/Image Sprite generation bookmarklet tool

6. asset compression

put all javascript on the bottom of the body part, put all css files to the header

here is the plugin for asset compression.
https://github.com/markstory/asset_compress
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: