`
tuhaitao
  • 浏览: 375405 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
蛋疼的将/usr/share/vim/ 目录删除后,vim启动老是一行找不到xxxx的错误,其实不影响编辑文本,关键是失去了对.c/.cpp的语法着色,令人很不愉快     查阅www.vim.org后,发现这是vim的运行库, 幸好官方还有一个ftp可以同步   首先新建刚才不小心删除的目录,然后创建current软连接指向vim73,73是版本号自己可以随便改     mkdir -p /usr/share/vim/vim73 ln -s /usr/share/vim/vim73 /usr/share/vim/current   然后进入vim, 在里边执行命令: ...
最近在工作中遇到一个MySQL update的严重性能问题,语句大概是这样的:     update t_user set fstate=0 where fuid in (11111, 22222, ...., .....)     in后的括号中,有1000个fuid的样子   表结构如下:         存储引擎是Innodb, 版本是MySQL 4.0.18    其中fuid是主键, 由于表数据量在300W左右,所以刚开始更新很慢,我以为是表数据量太大引起的性能问题,   起初一直在寻求优化MySQL数据库配置,结果都是浮云,语句还是那么的慢。 ...
    每天分析日志的哥们实在伤不起,经常需要给出PV,UV,独立IP等一些统计值,使用C/C++,java都可以写,过程是这样的,先读取文件,逐行扫描,把能标记的值放入数据结构中,排重得出最终结果,其实Linux本身有很强大的文本处理功能,完全可以用shell + 一些文本小工具得出结果。   Nngix输出的access log文件如下:     192.168.1.166 - - 119272312 [05/Nov/2011:16:06:59 +0800] "GET /index.html HTTP/1.1" 200 370 "http://19 ...
喜欢定义常量的哥们你伤不起啊,好处当然是大大滴,但是定义的名字太长会影响到代码本身的美观程度   一般定义常量,会先写一个类专门放置,例如:     package com.opencfg.gateway.server.constant; public final class GateWayServerConstant { public static final String PARAM_NAME_LOCAL_CLUSTER_DEFAULT_IP = "0.0.0.0"; public static final String PARAM ...
我们首先看一下一个简单的文本文件是怎么保存的:   打开vim,编辑一段文本: [root@localhost ~]# vim hello.txt 编辑内容如下:   opencfg.com is best website for java 用命令:wq保存,然后列出该文件   [root@localhost ~]# ls -l -rw-r--r-- 1 r ...

Linux-CPU监控

监控的目的是为了,找出系统的瓶颈,理解并分析当前系统的特点,现在多数的系统跑的是应用类型,例如: 1.数据库(Oracle, MySQL,等) 2.Cache服务(Memcached, Squid等) 2.应用服务器(Tomcat, Apache,Nginx, Jboss, sendmail等)   其实这些应用软件大致可以分为两类: 1. 数据读取范畴(I/O 请求占用多数时间)        在这个范畴的应用软件,基本是处理高负荷的内存使用以及存储的系统,大量的时间处在数据处理的过程中,多半的软件不会对CPU发起更多的处理请求,当然这些软件也使用CPU,但都是为了产生I/O请 ...
            话说在中国1927年12月31日午夜发生了一件神奇的事情,中国时间瞬间增加了5分52秒,   不管你信不信,反正我信了!不信你看下边代码!   /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ow ...

LVS NAT模式简介

 
LVS 简称 Linux Virtual Server,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以性能很高,比起 Apache,Nginx,Haproxy来说,性能不在一个级别。   这里我简单画一下LVS在应用时的部署环境:     简单解释一下一个用户访问www.opencfg.com的流程:   1.用户在浏览器输入http://www.opencfg.com, 用户的电脑通过网络询问DNS,www.opencfg.com域名的IP地址 2.DNS服务 ...
以前写过一篇 , 《SimpleDateFormat性能调优》http://tuhaitao.iteye.com/admin/blogs/822277 虽然可以解决SimpleDateFormat的线程安全问题,但不能够灵活的配置日期Parten,为了使其能够灵活的配置日期格式,我进行了一番改造。   1. 通过配置文件加载Praten,灵活配置日期格式   2. 使用FastHashMap结合ThreadLocal,解决多个日期格式的线程安全问题     /* * Licensed to the Apache Software Foundation (ASF) under ...
SQL注入的事件已经是上个世纪最令人头疼的攻击方法,21世纪又出现了HTML注入漏洞,随着web飞速的发展,XSS漏洞已经不容忽视,简单介绍一下XSS漏洞, 只要有用户输入的地方,就会出现XSS漏洞,例如在发表一篇帖子的时候,在其中加入脚本。   1.HTML标签注入:     <script>alert('Hello World!')</script>       很简单,就是用alert输出一个Hello World文本,如果在帖子内容里,出现了这样的语句,浏览器会执行这个脚本:       很多网站为了避免XSS的攻击,对用户的输入都采 ...
tomcat/bin 目录下的catalina.sh是比较常用的shell     #启动tomcat ./catalina.sh start #关闭tomcat ./catalina.sh stop     往往一个工程,开发一段时间后,会发现./catalina.sh stop关闭不了tomcat,而必须使用kill -9 <pid> 这样的强制命令去 杀死tomcat,这么做当然可以,但是手法不是那么的优雅   在tomat未被./catalina stop关闭的情况下,导致误以为tomcat已经关闭成功的哥们 会在更新完代码后,./cata ...
有很多时候我们写的代码不是你想跑多快就能跑多快的, 因为一些陈旧的核心系统支撑不了,在此万般无奈的情况下,   调用老系统的接口,服务 就需要运维给一个可以接受的范围参考, 情景大概是这样,现实还是很难接受,明明写好的代码   还用了一些自己优化技术来使代码运行的更快, 现实都是残酷的,不那么完美的, 与其被弓虽女干,不如好好享受一番。     分享一下基于ThreadLocal限制调用频率的代码:   其中引入了commons-lang里的StopWatch计时器     /* * Licensed to the Apache Software Foundation ...
简单的不带通配符linux命令调用非常简单,使用Runtime.getRuntime().exec(command)即可,如果要显示错误,或者   输出信息,得到相应的inputStream,既可以打印出信息.   但是对于以下命令:   ls /var/log/nginx/access.log.*   ls /var/log/nginx/access.log.* | grep 2011-05-16   grep "test=123&name=opencfg.com" /var/log/nginx/access.log.* > /root/a ...
很久以前一直流行mplayer,但是编译安装都很复杂,需要很多的共享库支持,界面加上字体一堆问题,比较新版本的linux发行版一般都有问题,以前见同事在流媒体里用vlc作测试,由于是在windows下测试,所以没在意,偶然间上了vlc的官网,发现对linux现有的主流发行版本支持的很给力,需要的朋友可以试试啊,不会让你失望的。   几乎支持现有的所有媒体播放,试试吧   http://www.videolan.org/    
在Java中对数据的运算,有很好的规范支持,尤其是针对二进制的位运算,解决了C/C++ 逻辑右移 于 算术右移的不确定性,几乎所有市面上见到的C/C++编译器都只对有符号数使用算术右移,Java在这方面作的比C/C++出色。   这里我用一个经典的1,-1的移位运算码来展示:     package com.opencfg.test; /** * Integer Binary Test * * @author opencfg.com * @version */ public class Test { final static char[] d ...
Global site tag (gtag.js) - Google Analytics