几种典型应用对系统资源使用的特点

简介:

1)以静态内容为主的Web应用

1
2
3
a、小文件居多,并且读操作频繁,主要消耗内容
b、优化,尽量在前段使用缓存,如果访问量较大的情况,使用cdn
c、在高并发访问时,还存在另外一个,如果网络带宽瓶颈,客户访问量大且带宽不够,就会阻塞网络

2)以动态内容为主的Web应用

1
2
3
4
5
a、频繁地执行写操作,如JAVA,PHP,Perl,CGI等,这个时候,CPU资源消耗会非常严重,因为动态程序
的执行要进行编译,读取数据库等操作,这些都要大量消耗CPU.
b、基于动态内容的Web应用在高并发访问时,系统执行的进程会很多,因此要考虑负载的分配,因为内
存不足的情况下,会使用虚拟内存,而虚拟内存的增加会导致磁盘写操作频繁进而消耗CPU资源
c、所以尽量考虑大内存和高性能的CPU资源.

3)数据库应用

1
2
3
4
5
6
a、数据库应用特点是消耗内存和磁盘I /0 ,而对CPU的消耗不是太大
b、考虑将数据库AP端和数据库DB端进行分离(读写分离)
c、如果数据库中存在过大的表,可以考虑拆分,也就说将一个大表拆分为多个小表,再通过索引进行
关联处理,这样可以避免查询大表造成的性能问题。
d、优化SQL语句(尽量避免全表查询)
e、尽量在其前端使用缓存,减轻数据库端的压力

4)软件下载应用

1
2
a、对带宽和存储性能的要求较高
b、可以采用多台,多点服务器分离的形式分担下载负荷

5)流媒体服务应用

1
2
3
a、流媒体的主要应用主要在视频会议,视频点播、远程访问、在线直播等应用。
b、这类应用主要的瓶颈是网络带宽和储备系统的带宽(读操作为主)
c、优化,存储方面优化视频编码、采用代理服务器,分段缓存,动态缓存、优化内存池和线程池










本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1934788,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
监控 Java 测试技术
在多线程开发中,线程死循环可能导致系统资源耗尽,影响应用性能和稳定性
【5月更文挑战第16天】在多线程开发中,线程死循环可能导致系统资源耗尽,影响应用性能和稳定性。为解决这一问题,建议通过日志记录、线程监控工具和堆栈跟踪来定位死循环;处理时,及时终止线程、清理资源并添加错误处理机制;编码阶段要避免无限循环,正确使用同步互斥,进行代码审查和测试,以降低风险。
17 3
|
2天前
|
安全 数据安全/隐私保护 UED
分享5款占用系统资源少的软件
在日常使用电脑时,我们需要各种软件来完成任务。以下是几款小巧但功能齐全的软件推荐。
21 1
|
6月前
|
缓存 安全 Java
从CPU的视角看 多线程代码为什么那么难写!
当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问 “为什么代码测试环境运行好好的,一上线就不行了?”。 为了解决线程安全的问题,我们的先辈们在编程语言中引入了各种各样新名词,就拿我们熟悉的Java为例,不仅java语言自带了synchronized、volatile、wait、notify… ,jdk中各种工具包也是层出不穷,就比如单一个Lock,就可以有很多种实现,甚至很多人都谈锁色变。
53 0
|
10月前
|
存储 Java 数据安全/隐私保护
项目实战典型案例15——高并发环境下由于使用全局变量导致数据混乱 高并发环境下对象被大量创建,导致GC并是CPU飙升
项目实战典型案例15——高并发环境下由于使用全局变量导致数据混乱 高并发环境下对象被大量创建,导致GC并是CPU飙升
103 0
项目实战典型案例15——高并发环境下由于使用全局变量导致数据混乱 高并发环境下对象被大量创建,导致GC并是CPU飙升
|
10月前
|
Java
项目实战典型案例20——内存长期占用导致系统慢
项目实战典型案例20——内存长期占用导致系统慢
56 0
|
10月前
|
Java
【项目实战典型案例】20.内存长期占用导致系统慢
【项目实战典型案例】20.内存长期占用导致系统慢
|
10月前
|
缓存 负载均衡 Linux
【车载性能优化】将线程&进程运行在期望的CPU核心上
如果我们能够将程序的**进程**或**线程**运行在指定的CPU核心上,原则上就可以实现动态调节应用的执行效率。实现这种需求要用到一个Linux的函数—`sched_setaffinity`。
565 0
【车载性能优化】将线程&进程运行在期望的CPU核心上
|
10月前
|
Java 程序员 编译器
从根上理解高性能、高并发:深入计算机底层,理解线程与线程池
作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然于胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的nget等熟练掌握。但真正到了面试或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不过是皮毛。
|
Java
[最佳实践] Java线程栈分析 - CPU利用率持续升高
使用应用诊断分析平台ATP的Java线程栈分析功能,诊断CPU利用率持续升高问题
299 0
[最佳实践] Java线程栈分析 - CPU利用率持续升高
|
缓存 Java
性能优化之@Contended减少伪共享
说到伪共享,就要说CPU缓存,我们程序执行时候信息会被保存到CPU缓存中 而这些缓存中的数据可能被多线程访问,假如一个线程还没处理完,另外一个线程 就对数据进行了修改,就会导致上一个线程发生幻读的情况,比如刚才看到a=1,然后准备a = a+1。 但是还没做,另外一个线程就先将a变成2了。导致了上一个线程计算后本来应该是a = 1 + 1,变成了a = 2 + 1 计算结果就不对了。
398 0

相关实验场景

更多