首页 文章 精选 留言 我的

精选列表

搜索[资源优化],共10000篇文章
优秀的个人博客,低调大师

Docker内核参数优化

对于docker container的调优还是和普通的Linux调优有很大的区别 修改最大文件数(open files) 直接修改 container的 /etc/security/limits.conf无效 正确的做法是(以CentOS host为例) 在host上执行 sudo sh -c 'printf "\nulimit -HSn 999999\n" >> /etc/sysconfig/docker' sudo service docker restart 这样再进入docker container, ulimit -a就可以看到更改了 [root@f258c7598394 /]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7810 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 999999 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 7810 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 对于Ubuntu请参考此文 修改tcp/ip变量(sysctl) 如果docker container是以 –net=”host” 方式启动的,那么container和host共用同一个网络堆栈,只需要修改host的配置 sudo sh -c 'printf "\nnet.ipv4.ip_local_port_range = 1024 65535\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.ipv4.tcp_tw_recycle = 1\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.ipv4.tcp_tw_reuse = 1\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.core.rmem_max = 16777216\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.core.wmem_max = 16777216\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.ipv4.tcp_max_syn_backlog = 4096\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.ipv4.tcp_syncookies = 1\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.core.somaxconn = 1024\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.ipv4.tcp_window_scaling = 1\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.ipv4.tcp_rmem = 4096 87380 16777216\n" >> /etc/sysctl.conf'; sudo sh -c 'printf "net.ipv4.tcp_wmem = 4096 16384 16777216\n" >> /etc/sysctl.conf'; sudo sysctl -p; 然后重启docker container生效。 如果docker container不是以 –net=”host” 方式启动的,那么它将有自己独立的网络堆栈。修改host的配置将会无效。在container中又无法直接修改/proc,因为docker会以只读的方式重新挂载/proc/sys。 对于这个问题,可以在container启动的时候将/proc挂载到另一可读写位置,譬如 docker run -ti -v /proc:/writable-proc ubuntu:14.04 /bin/bash 1 然后就可以在container内部进行修改了 echo 1024 65535 > /writable-proc/sys/net/ipv4/ip_local_port_range echo 1 > /writable-proc/sys/net/ipv4/tcp_tw_recycle echo 1 > /writable-proc/sys/net/ipv4/tcp_tw_reuse echo 4096 > /writable-proc/sys/net/ipv4/tcp_max_syn_backlog echo 1 > /writable-proc/sys/net/ipv4/tcp_syncookies echo 1 > /writable-proc/sys/net/ipv4/tcp_window_scaling echo 4096 16384 16777216 > /writable-proc/sys/net/ipv4/tcp_wmem echo 4096 87380 16777216 > /writable-proc/sys/net/ipv4/tcp_rmem echo 16777216 > /writable-proc/sys/net/core/rmem_max echo 16777216 > /writable-proc/sys/net/core/wmem_max echo 1024 > /writable-proc/sys/net/core/somaxconn echo 999999 > /writable-proc/sys/fs/file-max 然后在container中可以查看到修改生效 cat /proc/sys/net/ipv4/ip_local_port_range cat /proc/sys/net/ipv4/tcp_tw_recycle cat /proc/sys/net/ipv4/tcp_tw_reuse cat /proc/sys/net/ipv4/tcp_max_syn_backlog cat /proc/sys/net/ipv4/tcp_syncookies cat /proc/sys/net/ipv4/tcp_window_scaling cat /proc/sys/net/ipv4/tcp_wmem cat /proc/sys/net/ipv4/tcp_rmem cat /proc/sys/net/core/rmem_max cat /proc/sys/net/core/wmem_max cat /proc/sys/net/core/somaxconn cat /proc/sys/fs/file-max 需要注意的是,如果内核版本过低(<3.12), 有些参数是无法修改的 本文转自 南非波波 51CTO博客,原文链接:http://blog.51cto.com/nanfeibobo/1716792,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android性能与优化

I. 编码习惯 尽量避免分配内存(创建对象) 如果一个方法返回一个String,并且这个方法的返回值始终都是被用来append到一个StringBuffer上,就改为传入StringBuffer直接append上去,避免创建一个短生命周期的临时对象; 如果使用的字符串是截取自某一个字符串,就直接从那个字符串上面substring,不要拷贝一份,因为通过substring虽然创建了新的String对象,但是共享了里面的char数组中的char对象,减少了这块对象的创建; 尽量使用多个一维数组,其性能高于多维数组;int数组性能远大于Integer数组性能; 尽可能static方法 如果你确定不需要访问类成员,让方法static,这样调用时可以提升15%~20%的速度,因为不需要切换对象状态。 尽可能使用常量而非变量* 如果某个参数是常量,别忘了使用

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册