android ramdisk编辑

mkdir /etc/mm
mount -o rw -t ext4 /dev/block/sda3 /etc/mm
cp /etc/mm/ramdisk /data/local/tmp/ramdisk.img.gz
cd /data/local/tmp/
gunzip ramdisk.img.gz
mkdir ramdisk
cd ramdisk
cpio -i -F ../ramdisk.img
cpio -i -t -F ../ramdisk.img > list

cat list|cpio -o -H newc|gzip > ramdisk.img.gz
cp ramdisk.img.gz /etc/mm/ramdisk
umount /etc/mm
阅读全部

tornado缓存

class CacheBaseHandler(tornado.web.RequestHandler):
  
    def prepare(self):
        # 这里判断一下是否是GET请求,是否是非登陆用户,才做以下处理
        cached = self.application.db.cache.find_one({"slug": self.request.path})
        if cached is not None:
            self.write(cached["content"])
            self.finish()
  
    def render_string(self, template_name, **kwargs):
        html_generated = \
            super(CacheBaseHandler, self).render_string(template_name, **kwargs)
        self.application.db.cache.update({"slug": self.request.path},
            {"$set": {"content": html_generated}},
            upsert=True)
 
        return html_generated
 
    def on_finish(self):
        """ 重写结束请求前的方法函数 """
        if self.request.method == "POST":
            # 如果遇到POST提交则清空缓存
            self.application.db.cache.remove({"slug": self.request.path})
阅读全部

url计数

CREATE TABLE `ps_url2` (
  `text` varchar(300) DEFAULT NULL,
  `url` varchar(500) DEFAULT NULL,
  `url_crc` int(11) unsigned NOT NULL DEFAULT '0',
  `count` int(11) DEFAULT '0',
  PRIMARY KEY (`url_crc`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TRIGGER IF EXISTS `pseudohash_crc_ins`;
DELIMITER ;;
CREATE TRIGGER `pseudohash_crc_ins` BEFORE INSERT ON `ps_url2` FOR EACH ROW begin set NEW.url_crc=crc32(NEW.url);end
;;
DELIMITER ;
DROP TRIGGER IF EXISTS `pseudohash_crc_upd`;
DELIMITER ;;
CREATE TRIGGER `pseudohash_crc_upd` BEFORE UPDATE ON `ps_url2` FOR EACH ROW begin set NEW.url_crc=crc32(NEW.url);end
;;
DELIMITER ;

记录text和url,采用crc32作为主键,插入与更新的时候用触发器更新url的crc32,采用crc32可以加快查询速度。

mysql的哈希索引只能在memory引擎的表中使用,mysql重启后表数据会丢失。

插入数据一条语句搞定:

insert into ps_url2(text,url) values(%s,%s) on duplicate key update count=count+1

on duplicate key确保插入时有重复数据自动更新原数据count数。

阅读全部

linux/android禁用ipv6

 echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6

直接生效,需要每次生效的话,编辑/etc/sysctl.conf

net.ipv6.conf.eth0.disable_ipv6 = 1

然后sysctl -p命令生效。

阅读全部

IIS性能监测

IIS性能监测脚本,统计一段时间内网站访问情况及系统性能表现。


IIS监测.rar

阅读全部

mysql慢语句追踪

SET GLOBAL log_slow_queries = ON;  打开慢日志记录
SET GLOBAL long_query_time = 3; 设置超过3秒为慢日志
show variables like 'slow_query_log_file'; 查看慢日志文件路径

set profiling=1; 打开性能跟踪
show profiles; 显示列表
show profile for query 1; 显示查询1
阅读全部