一、模块介绍 apache是一个补丁服务器,在安装apache的时候就为用户提供了很多常用模块供用户使用。 但是,在生产环境中,很多模块是没有用的,如果apache开启的时候加载了这些模块,就会造成资源的浪费,所以我要告诉大家的是:找到你业务中需要的模块,将不需要的模块全部注释掉,不要让apache在加载这些模块 ,节省运行apache服务器资源。 beos 专门针对BeOS优化过的多路处理模块(MPM) event 一个标准workerMPM的实验性变种。 mpm_netware Novell NetWare优化过的线程化的多路处理模块(MPM) mpmt_os2 专门针对OS/2优化过的混合多进程多线程多路处理模块(MPM) prefork 一个非线程型的
一、开启apache的Gzip(deflate)功能 gzip可以极大的加速网站,压缩比率通常在40%~80%之间,在之前的版本中,Gizp是第三方压缩工具,但是在Gzip 2版本后,Apache自己开发了 如果要开启apache的压缩功能,需要在编译安装apache时,增加“--enable-deflate”配置项,并且必须在主配置文件中打开下面两个模块: LoadModule deflate_module 四、隐藏apache的版本信息 [root@apache htdocs]# curl -I 127.0.0.1 #查看默认apache的状态信息 HTTP/1.1 403 Forbidden Date [root@apache conf]# apachectl restart #重启服务,以便更改生效 [root@apache conf]# ls .. @apache src]# cd cronolog-1.6.2/ [root@apache cronolog-1.6.2]# .
热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云
前言 最近在进行apache性能优化设置。在修改apache配置)文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯。以下的apache配置调优均是在red had的环境下进行的。 apache默认是开启5个子进程 查看Apache的并发请求数及其TCP连接状态 [root@localhost ~]# netstat -n | awk '/^tcp/ { S[$NF]} END 配置是否正确 [root@localhost ~]# httpd -t apache模块启用 模块介绍:Apache 各个模块功能 基本(B)模块默认包含,必须明确禁用;扩展(E)/实验(X)模块默认不包含 apache多路处理器MPM 目前apache2.4版本已经event MPM纳入正式版,不再是实验状态。 stop 然后再 apache start才可以生效。
什么是Apache Kafka? Apache Kafka是一个发布-订阅消息系统。 由LinkedIn发起,于2011年初开源。 对生产者的优化建议 1.使用正确的消息确认选项 消息一旦发送到了broker,你想等多久?可通过下面这个选项来设置。 更多的这些设置可参考https://kafka.apache.org/08/configuration.html(不仅包含超时设置,还包括其它的设置如重试和入队列等)。 对Broker的优化建议 1.预备更多的分区 1.1 消费者的数量应该同分区的数量一样多,所以为了更多的并发处理就需要有更多的分区。 1.2 但更多的分区会增加延时。 8.设计和优化你的消息者并适当的向前’pipeline’。 9.选择超时和其它比较重要的配置选项如自动提交等。
最近服务器内存总是被消耗完,下面是我进行优化的第一步。不知道以前为何没事,总之现在加载这么多资源能正常运行。
.*" aaa-request CustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/aaa-access_% 该设置可用于优化网站,特别是公司内网。 检测 检测语法错误: [root@adailinux 111.com]# /usr/local/apache2.4/bin/apachectl -t Syntax OK 检测Apache配置文件是否开启 模块,所以需要编辑Apache配置文件,加载expires模块。 配置Apache,加载expires模块 编辑Apache配置文件: [root@adailinux 111.com]# vim /usr/local/apache2.4/conf/httpd.conf
使用场景:资源下载服务器 优化目的:保护带宽及服务器IO资源合理使用 二、限速方法 apache自带了基于带宽限速的模块 ratelimit_module 该模块只能对连接下载速度做限制,且是单线程的下载 mod_limitipconn-0.24.tar.gz cd mod_limitipconn-0.24 vim Makefile 修改如下行 修改:apxs = “/usr/local/apache /bin/apxs” 指定apache命令apxs的路径 make make install 3)查看apache主配置文件,是否有了该模块 LoadModule limitipconn_module MaxConnPerIP 3 #限制的线程数 NoIPLimit index.htm #对此文件不做限制 </Location> 四、测试 1)生成下载数据 dd if=/dev/zero of=/usr/local/apache
(一)prefork模式下(其他模式下不适用),apache需要优化的主要参数: ServerLimit 3000 StartServers 750 MinSpareServers 5 MaxSpareServers 服务器最大同时响应请求数 这个就是你当前配置的apache最大的并发响应数,对应的是apache的进程数,两个参数同时修改,MaxClients不得大于ServerLimit参数。 不用调得太大,否则是无谓增加apache通过jk去跟tomcat建立的连接。 所以不要一次启动太多的apache进程,只启动足够用的进程即可。其他增加的流量,apache会自动调整进程数,直到MaxClients参数限定的范围。 关闭空闲apache进程的同时,会释放jk连接,同时释放tomcat连接数,进而减少系统资源消耗。
长连接介绍 面临问题: http是一个面向连接的协议,用户完成一次请求需要以下步骤 三次握手 发起请求 响应请求 四次断开 N个请求就重复N次,如果希望用户能够更快的拿到数据,服务器的压力降到最低,让你去优化这个请求过程 解决方案: 答案很明确,那就是建设每次执行的三次握手和四次断开,最好是一次三次握手建立成功后,在这个数据通道完成所有的请求后,然后在四次断开,这就是优化思路–理想中应该是这样。 请求全部完成后,四次断开 优化目的: 减少了三次握手和四次断开的次数。 注意事项: 长连接需要服务器和客户端浏览器都支持 长连接特点: 提升用户访问速度 降低服务器压力 大量空闲长连接可能造成服务器压力过大 二、长连接实现 apache2.4默认开启了长连接,长连接时间为5s
11.25 配置防盗链 编辑虚拟主机配置文件: [root@adailinux ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf < img </VirtualHost> 检测语法错误并重载: [root@adailinux ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK 设置自定义header 在设置自定义header前,需要先检测一下你的httpd(Apache)是否加载了mod_headers [root@adailinux ~]# /usr/local/apache2 设置header 在Apache配置文件中加入下面参数: Header add MyHeader "Hello" apache的keepalive和keepalivetimeout 在APACHE的 秒,那么APACHE中肯定有很多无用的连接会占用服务器的资源,也不是一件好事。
二 :Cube 维度优化主要方式 CubeID 剪枝优化 衍生维度优化 聚合组优化 强制维度 层次维度 联合维度 Cube并发粒度优化 上面的优化方式,都可以认为是对维度的一种剪枝,因为每种优化的最终的目的都是为了减少 kylin.properties中参数xxx=4096 也就是说当cubeid数量大于4096个时是无法进行创建的,会报error 为: 1.检查Cubeid数目 执行命令 :bin/kylin.sh org.apache.kylin.engine.mr.common.CubeStatsReader kylin.hbase.region.count.max=100,kylin.hbase.region.cut=1 上面设置为最小为2个分区,每个分区大小为1G,最多设置100个region分区 参考资料 : http://kylin.apache.org /blog/2016/02/18/new-aggregation-group/ http://kylin.apache.org/docs/howto/howto_optimize_cubes.html Apache Kylin 权威指南
apache支持两种压缩:deflate、gzip mod_gzip 和mod_deflate比较 首先一个区别是安装它们的Apache Web服务器版本的差异。 Apache 1.x系列没有内建网页压缩技术,所以才去用额外的第三方mod_gzip 模块来执行压缩。 而Apache 2.x官方在开发的时候,就把网页压缩考虑进去,内建了mod_deflate 这个模块,用以取代mod_gzip。虽然两者都是使用的Gzip压缩算法,它们的运作原理是类似的。 应用场景:数据压缩传输 优化目的:提升用户访问页面加载速度,节约带宽 二、数据压缩实现 1)开启模块 LoadModule deflate_module modules/mod_deflate.so 2 no-gzip dont-vary </IfModule> 三、测试 1)生成HTML数据页面 for i in `seq 1 20`;do cat /etc/passwd >> /usr/local/apache
从2016年开始,美团到店餐饮技术团队就开始使用Apache Kylin作为OLAP引擎,但是随着业务的高速发展,在构建和查询层面都出现了效率问题。 基于Kylin的这套系统,在构建和查询上均出现了严重的效率问题,从而影响到数据的分析决策,并给用户体验优化带来了很大的阻碍。 擎天早在2016年就使用Kylin作为OLAP引擎,历史任务没有切换,仅仅针对MapReduce做了参数优化。 SLA整体达成率 经过了由点及面的整体优化,擎天于2020年6月SLA达成率达到100%。如下图所示: ? 展望 Apache Kylin在2015年11月正式成为Apache基金会的顶级项目。 从开源到成为Apache顶级项目,只花了13个月的时间,而且它也是第一个由中国团队完整贡献到Apache的顶级项目。
查看lvs message日志 /var/log/message lvs检测apache的80端口失败,然后lvs会把这台机器踢掉,将所有请求发送到另外一台,然后另外一台检测失败,刚才踢掉的又恢复正常 但是最后我们找到了问题,是apache没有做优化。 2、首先确定你的apache使用的是何种方式 ,然后这里的配置需要打开,然后需要去修改httpd-mpm.conf文件,修改这个文件也需要根据自己使用的处理方式决定修改那个,我们用的prefork方式
翻译自 https://www.confluent.io/wp-content/uploads/Optimizing-Your-Apache-Kafka-Deployment-1.pdf 前言 Apache 这份白皮书涉及到如果确定你的服务目标,配置你的Kafka部署来优化它们,通过监控来确保达到了你的目标。 ? 327.png 确定针对哪些服务目标作优化 第一步是先确定你希望针对哪些服务目标作优化。 这不是说我们对目标中的一个作优化而完全丢掉其他的。它仅仅意味着这些服务目标都是有内在联系的,但你不可能在同一时间内对所有的都作出优化。 确定对哪些服务目标作优化的第二个重要原因是你能够并且也可以通过调整Kafka配置参数到达成它。你需要明白你的用户期望从系统中得到什么来确保你优化Kafka来完成他们需要的。 消费者: auto.commit.enable=false (default true) 优化可用性 为了优化高可用性,你需要调整Kafka,以便其能够快速从故障中恢复。
Cube优化原理 从以上案例可以看出,通过Cube调优可以显著改善Apache Kylin的构建性能、查询性能及Cube膨胀率。那么这些改进的背后究竟是什么原理呢? 通过这个评分,就可以一眼对整个Apache Kylin的性能体现有一个直观认识,也可以直观地看出Cube优化的重要性和必要性。 如要优化,建议检查集群资源配置和调度。 ? 图14 MapReduce任务生命周期 寻找查询瓶颈 查询是Apache Kylin的强项,但也存在种种因素导致某些查询变慢。 图17 待优化查询(1) 图16的区域3是该查询执行的生命周期,其中绿色泳道代表Apache Kylin查询节点的线程,蓝色泳道代表HBase节点的执行线程。 图 - 18待优化查询(2) 总结 本文着重介绍了Apache Kylin中对Cube和查询进行优化的原理、工具、方案和案例,希望能够帮助使用Apache Kylin的朋友解决工作上的棘手问题。
应用场景:数据缓存 优化目的:提升用户访问页面加载速度,节约带宽 二、静态缓存实现 1)修改apache主配置文件,加载缓存模块 LoadModule expires_module modules/mod_expires.so
为了缓解 Cube 的构建压力,Apache Kylin 引入了一系列的高级设置,帮助用户筛选出真正需要的 Cuboid。 众所周知,Apache Kylin 的主要工作就是为源数据构建 N 个维度的 Cube,实现聚合的预计算。 此时,Apache Kylin 会通过在线计算的方式,从现有的 Cuboid 中计算出最终结果。 系列总结 根据本系列的原理介绍,在Kylin的高级设置中,用户可以根据查询需求对Cube构建预计算的结果进行优化(剪枝),从而减少占用的存储空间。 而优化得当的Cube可以在占用尽量少的存储空间的同时提供极强的查询性能。 转载理由: 圣人之下,皆是蝼蚁。 推荐阅读: ApacheKylinv2.0最新功能和深度 技术解读
于是我就开始了这段性能优化之旅。 1、Calcite 简介 Apache Calcite是一款开源的动态数据管理框架,它提供了标准的 SQL 语言、多种查询优化和连接各种数据源的能力,但不包括数据存储、处理数据的算法和存储元数据的存储库 (Rule)进行优化; 4)SQL 执行,按照执行计划执行。 如果当前类型的“表”能够支持我们自己写代码优化这个过滤器,那么执行完自定义优化器,可以把该过滤条件从集合中移除,否则,就让calcite来过滤,简言之就是,如果我们不处理List filters ,Calcite Cacite 在这个地方通过设置缓存大小来优化缓存设置。 org.apache.calcite.interpreter.JaninoRexCompiler#baz ?
流计算 Oceanus 是基于Flink构建的云上全托管的实时计算服务。您无须关注基础设施运维,通过云端一站式开发环境,轻松构建点击流分析、电商精准推荐、金融风控、物联网 IoT 等应用。
扫码关注腾讯云开发者
领取腾讯云代金券