QPS、PV和需要部署机器数量计算公式

术语说明:
QPS = req/sec = 请求数/秒

【QPS计算PV和机器的方式】

QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 * 请求时间 )
QPS: 单个进程每秒请求服务器的成功次数

单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600[......]

Read more

发表在 高并发 | 留下评论

linux软RAID的创建

之前清理服务器上的日志,因为日志长期积累占据了很多磁盘空间,由这个磁盘用量想到了以前的磁盘阵列技术,于是做个笔记总结,顺便学习整理一下。

一般服务器,不是单块硬盘的,而是由一个硬盘组来组成一个更大的逻辑盘,所用的技术是RAID技术,可以用软件,也可以用硬件的方式实现。

RAIDRedundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列。RAID 的[......]

Read more

发表在 Linux/操作系统 | 标签为 , | 留下评论

Spring和MongoDB的集成

Spring Data  MongoDB 项目提供与MongoDB文档数据库的集成。Spring Data是Spring专门用来数据处理的一个子项目,Spring Data除了spring-data-mongodb之外还包括spring-data-jp、spring-data-redis等项目。spring-data-mongodb就是针对mongodb的一个项目。通过它我们可以对nongodb进[......]

Read more

发表在 数据库/NoSQL技术, 编程 | 标签为 , | 留下评论

基于MongoDB GridFS的图片存储

GridFS从名字来看,就明白是一个文件系统,它是mongodb的一个子模块,使用GridFS可以基于mongodb来持久存储文件.并且支持分布式应用(文件分布存储和读取).

使用场景:

1) 有大量的上传图片(用户上传或者系统本身的文件发布等)

2) 文件的量级处于飞速增长,有可能打到单机操作系统自己的文件系统的查询性能瓶颈,甚至超过单机硬盘的扩容范围.

3) 文件的备份[......]

Read more

发表在 数据库/NoSQL技术 | 标签为 | 留下评论

MongoDB分片的一点思考

数据规模大了,肯定要考虑集群化,搜索了一些文章来看。

要构建一个 MongoDB Sharding Cluster,需要三种角色:

Shard Server: mongod 实例,用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个relica set承担,防止主机单点故障

Config Server: mongod 实例,存储了整个 Clus[......]

Read more

发表在 数据库/NoSQL技术 | 标签为 | 留下评论

HttpSession实效验证

之前CM项目中的有用HttpSession做登陆标记以及验证,具体思路是一段时间后Session自动实效,要求用户重新登陆。

具体实现是:可以做一个过滤器,实现Filter接口,对指定路径下的请求进行session的失效验证,如失效则跳转到登录页面:

public class RequestFilter implements Filter {

public void doFilt[......]

Read more

发表在 编程 | 留下评论

HttSession的几个应用场景

最近项目中用到几个HttpSession的应用场景,统计一下。

(1)控制用户数,当session失效后,系统的用户数减少一个等,控制用户数在一定范围内,确保系统的性能。
(2)控制一个用户多次登录,当session有效时,如果相同用户登录,就提示已经登录了,当session失效后,就可以不用提示,直接登录了

(3)购物车(另外做了一个Demo)

 

HttpS[......]

Read more

发表在 编程 | 留下评论

HttSession的默认失效时间

HttSession默认的实效时间是30分钟,有三种修改方式:

1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(600);
参数600单位是秒,即在没有活动10分钟后,session将失效。设置为-1将永不关闭。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不[......]

Read more

发表在 编程 | 留下评论

无状态Bean和有状态Bean

今晚看博客的时候看到一个名词叫无状态Bean和有状态Bean,之前没听说过这个名词。于是网上找了些资料了解这方面的知识。原来这是EJB的一个概念,不过也可以拓展来看,我的理解是在用户的生命周期内,bean的属性如果有私有变量,那么在整个生命周期内,Bean如果是产生“写操作”,那么就可能会改变bean的信息了,在多线程状态下,有是线程不安全的。

产生线程不安全需要满足:

1)有共享变量[......]

Read more

发表在 编程 | 标签为 , | 留下评论

单台运行Java应用 的tomcat服务器调优

最近要考虑如何增加每台tomcat的处理能力,因此要做调优。目前主要考虑单台tomcat的参数调优,主要从最大连接数和tomcat 运行时使用的JVM调优方面考虑。

1)最大连接数

示例:

<Connector port=”8080″
maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″
enabl[......]

Read more

发表在 高并发 | 留下评论