这两天的值班,让我对自己的不足和学习方法有个感官的认识,也让我收益匪浅,本着服务大家的原则,在这里为大家分享我这近一个月的收获和感受!
首先我们看一个现象:
这是第一场考试的截图:
这是第二场考试的截图:
我们分析发现:cpu的使用率在逐步的提升,在最后一场,cpu的使用率达到80%以上,我们查了,数据库,只一个题型的存储量就达到了20多万条数据!
这让我们很苦恼,为什么会这样,是sql的吞吐量出问题了吗,我们马上到网上去查,发现并不是,sql的吞吐量可以轻松处理百万级别的数据量,是我们的程序有问题吗?我想,应该是的,在我们查找了多方资料后,发现,大数据量的处理,涉及到sql的执行机制,我们在这里将网上的图拿过来,大家一起研究:
服务器接收到SQL语句之后,要经过如下步骤完成操作:Parse(解析)—> Bind(绑定)—> Execute(执行)。
1.此为整体流程图:
2.此为select语句流程图:
3.此为其他语句流程图:
大家都可以看到,每个语句都有缓冲池和循环,这也题型我们,在处理大数据时,谨慎使用循环,如果不得不用,要考虑好解决循环时间过长,造成超时的情况(默认为30s),这里引入下一个要说的问题,就是多线程!敬请期待下一篇博客!
总结:
工作和学习永远是相辅相成的,如果只把工作当成工作,最后是码农,或者其他,只有把工作当成自己的事,尽心尽力做好,才能相互促进,共同进步!
使用Annotation的方式,需要在spring的配置文件中配置命名空间。命名空间中,隐式地注册了多个对注解进行解析处理的处理器。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
b、打开注解功能
<context:annotation-config />
2、@Autowired与@Resource
@Autowired与@Resource在使用上是没有任何区别的。即可以放于属性声明之前,也可以放于属性的setter方法头上。
只是@Autowired注解是由Spring提供的,它是按类型进行装配。而@Resource是由JavaEE提供的,它是按属性的名字进行装配,找不到名字后再找类型按类型装配。
@Autowired是推荐使用的。
使用的软件:
1. CentOS: CentOS release 6.4 (Final)
2. Vagrant: vagrant_1.2.2_i686.rpm
3. Virtualbox: VirtualBox-4.2-4.2.14_86644_el6-1.i686.rpm
一、安装Vagrant:
#yum -y install vagrant_1.2.2_i686.rpm
二、安装VirtualBox:
#yum -y install VirtualBox-4.2-4.2.14_86644_el6-1.i686.rpm
三、安装Linux头包(linux-header package):
#yum install kernel-devel
四、设置环境变量
#export KERN_DIR=/usr/src/kernels/2.6.32-358.11.1.el6.i686/
#export KERN_INCL=/usr/src/kernels/2.6.32-358.11.1.el6.i686/include/
五、Build
#/etc/init.d/vboxdrv setup
六、创建Vagrant工作区,开始使用Vagrant
#cd ~
#mkdir vagrant_workspace
#cd vagrant_workspace
#vagrant init precise32 http://files.vagrantup.com/precise32.box
#vagrant up
注:第七步骤仅当vagrant up出现import bug时才需要。
七、修复VirtualBox import bug(NS_ERROR_CALL_FAILED)
#cd ~/.vagrant.d/boxes/BaseBoxName/virtualbox
#openssl sha1 *.vmdk *.ovf > box.mf
#cd ~/vagrant_workspace
#vagrant up
注:文中BaseBoxName为precise32
链接:
Vagrant
Vagrant Example