首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux学习第二十八篇:监控io性能,free命令,ps命令,查看网络状态,linux下抓包

    free命令 查看当前系统的总内存大小以及使用内存的情况 查看内存和交换分区的使用情况: free //以kb为单位显示 free -m //以M为单位 free -h //以合适的单位为单位...,包括有M,G(常用) Mem是内存的使用情况,分别是内存的总大小(total),使用了多少(used),剩余多少(free),共享的多少(shared),缓存的多少(buffer/cache),马上可以使用的内存大小...SYN-SENT 在发送连接请求后等待匹配的连接请求 SYN-RECEIVED 在收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED 代表一个打开的连接,我们常用此作为并发连接)...CLOSED 没有连接活动或正在进行的 LISTEN 服务器正在等待的进入呼叫 SYN_RECV 一个连接请求已经到达,等待确认 SYN_SENT 应用已经开始,打开一个连接 ESTABLISHED 正常数据传输状态...eth1 port 3307 -d tcp.port==3307,mysql -z “proto,colinfo,mysql.query,mysql.query” 以下可以抓取指定类型的MySQL查询

    5.5K100

    【腾讯二面】5s内建立多少mysql连接?

    以100每秒的速度向mysql写数据,持续5s,此时我们的程序和mysql建立了多少个tcp连接?...在牛牛看来只有两点:mysql当前处理能力和连接池配置。 参数分析 1.mysql处理能力 如果负载正常的情况,mysql 1s内一定能处理100个请求。...PS: 正常实体机的mysql,即使配置差到1核1G,也完全能胜任100/s的单纯插入请求。只有在mysql本身异常,或有其他进程占用系统资源时,才会出现1s处理不过来100个请求的情况。...参数正交 回到该题目上看,我们利用控制变量来分析,最大连接和最大空闲时间我们假设足够大,以保证mysql正常响应和长连接的可持续性。...:请求速度为100每秒,如果我们的最大空闲连接设置为50,而mysql处于正常状态,每秒完成100个请求,则100➕4✖50 处理能力不足,且连接池最大空闲连接较小:请求速度为100每秒,如果我们的最大空闲连接设置为

    73730

    分库分表最佳实践

    分库分表设计 分库分表设计首先要根据业务选择合适的拆分维度以及拆分策略。这个在前文《分布式数据库的拆分设计实践》已经有过分析。这里重点说的分多少个库和分多少个表的选择考虑。 为什么要拆分?...分多少个表合适? 首先常见的一类问题是“表数据量到多少就要拆分?或者表大小到多少就要拆分?”。 业务方总希望能用一个万能的公式就直接给出答案。...换个问题“拆分为多少个分表比较合适?”。总分表也是数据的分片。 总数据分表数目一旦确定后,后期调整数量就非常不方便(那意味着全量数据重分布)。这个就是选择这个分表的第一个考虑点。...所以分多少个表此时还没有结论。先往后看。 分多少个实例合适? 每个物理实例占用了一定的主机资源(CPU、内存和空间),提供一定的计算和存储能力,重点是计算能力,具体指标就是QPS(也包括TPS)。...1个实例是否能方便扩容为2个实例,取决于这个实例里有多少个分库。 分多少个分库合适? 如果1个实例的分库是2或2的倍数,那拆分为两个实例还是比较方便的,简单说把分库对半分。

    5.3K20

    一次优化引发的血案

    其次,我发现服务的进程设置过少,Nginx的进程好说,通过worker_processes指令控制,按照CPU个数设置就行了,如果版本够的话,可以直接设置成auto。...PHP的进程设置多少合适,并没有一个固定的答案,如果内存充足的话,我一般选择静态模式,并设置进程为1024个,当然不能片面的以为进程越多越好,不然调度会成问题。...用户启动的,看来问题就出在这里了,可是为什么测试环境正常,正式环境异常呢?...原来差异出现在操作系统的版本上:虽然操作系统都是CentOS,但测试环境的版本是5.X,正式环境的版本是6.X,最要命的是新版的操作系统里多了一个限制用户进程的配置文件,缺省设置是1024: shell...案例中,先启动的PHP,由于进程较多,一下子就用光了所有的资源配额,接着启动Nginx时,失败无法避免。 不过为什么重启服务器后一切看起来都正常了呢?

    25530

    Linux top命令与结束进程命令kill,killall

    想要观察那些频繁换进换出的内存进程趋势,用top命令是合适的。...1.1 第一部分     第一行显示了当前的系统时间,up是指系统运行时间,user 是指用户登录,以及load average是指系统平均负载。     ...第二行显示了进程概要信息。 Tasks是进程叫做任务。包括几种状态:运行,休眠,停止,僵化。上图显示了1个进程运行, 208个进程休眠。     第三行显示了CPU概述信息。...Used当前用了多少内存。Free还有多少空闲内存。Buff/cache缓存的内存量。第二行说的是系统的交换空间。    ...通配符如下,删除前缀有mysql的字符进程.使用进要小心,有可能结束的重要的系统进程

    3.9K00

    别再纠结线程池大小 + 线程数量了,没有固定公式的!

    真实程序中的线程 那么在实际的程序中,或者说一些Java的业务系统中,线程(线程池大小)规划多少合适呢?...这些线程也是运行在当前进程、当前主机上的,也会占用CPU的资源。 所以受环境干扰下,单靠公式很难准确的规划线程,一定要通过测试来验证。...流程一般是这样: 分析当前主机上,有没有其他进程干扰 分析当前JVM进程上,有没有其他运行中或可能运行的线程 设定目标 目标CPU利用率 - 我最高能容忍我的CPU飙到多少?...没有标准答案,一定要结合场景,带着目标,通过测试去找到一个最合适的线程。...可能还有同学可能会有疑问:“我们系统也没啥压力,不需要那么合适的线程,只是一个简单的异步场景,不影响系统其他功能就可以” 很正常,很多的内部业务系统,并不需要啥性能,稳定好用符合需求就可以了。

    82430

    别再纠结线程池大小线程数量了,没有固定公式的

    真实程序中的线程 那么在实际的程序中,或者说一些Java的业务系统中,线程(线程池大小)规划多少合适呢?...这些线程也是运行在当前进程、当前主机上的,也会占用CPU的资源。 所以受环境干扰下,单靠公式很难准确的规划线程,一定要通过测试来验证。...流程一般是这样: 分析当前主机上,有没有其他进程干扰 分析当前JVM进程上,有没有其他运行中或可能运行的线程 设定目标 目标CPU利用率 - 我最高能容忍我的CPU飙到多少?...没有标准答案,一定要结合场景,带着目标,通过测试去找到一个最合适的线程。...可能还有同学可能会有疑问:“我们系统也没啥压力,不需要那么合适的线程,只是一个简单的异步场景,不影响系统其他功能就可以” 很正常,很多的内部业务系统,并不需要啥性能,稳定好用符合需求就可以了。

    1.4K30

    别再纠结线程池大小线程数量了,没有固定公式的

    真实程序中的线程 那么在实际的程序中,或者说一些Java的业务系统中,线程(线程池大小)规划多少合适呢?...这些线程也是运行在当前进程、当前主机上的,也会占用CPU的资源。 所以受环境干扰下,单靠公式很难准确的规划线程,一定要通过测试来验证。...流程一般是这样: 分析当前主机上,有没有其他进程干扰 分析当前JVM进程上,有没有其他运行中或可能运行的线程 设定目标 目标CPU利用率 - 我最高能容忍我的CPU飙到多少?...没有标准答案,一定要结合场景,带着目标,通过测试去找到一个最合适的线程。...可能还有同学可能会有疑问:“我们系统也没啥压力,不需要那么合适的线程,只是一个简单的异步场景,不影响系统其他功能就可以” 很正常,很多的内部业务系统,并不需要啥性能,稳定好用符合需求就可以了。

    1.1K40

    线程池大小 + 线程数量到底设置多少

    真实程序中的线程 那么在实际的程序中,或者说一些Java的业务系统中,线程(线程池大小)规划多少合适呢?...这些线程也是运行在当前进程、当前主机上的,也会占用CPU的资源。 所以受环境干扰下,单靠公式很难准确的规划线程,一定要通过测试来验证。...流程一般是这样: 分析当前主机上,有没有其他进程干扰 分析当前JVM进程上,有没有其他运行中或可能运行的线程 设定目标 目标CPU利用率 - 我最高能容忍我的CPU飙到多少?...没有标准答案,一定要结合场景,带着目标,通过测试去找到一个最合适的线程。...可能还有同学可能会有疑问:“我们系统也没啥压力,不需要那么合适的线程,只是一个简单的异步场景,不影响系统其他功能就可以” 很正常,很多的内部业务系统,并不需要啥性能,稳定好用符合需求就可以了,那么我的推荐的线程

    11.9K45

    别再纠结线程池大小线程数量了,没有固定公式的

    真实程序中的线程 那么在实际的程序中,或者说一些Java的业务系统中,线程(线程池大小)规划多少合适呢?...这些线程也是运行在当前进程、当前主机上的,也会占用CPU的资源。 所以受环境干扰下,单靠公式很难准确的规划线程,一定要通过测试来验证。...流程一般是这样: 分析当前主机上,有没有其他进程干扰 分析当前JVM进程上,有没有其他运行中或可能运行的线程 设定目标 目标CPU利用率 - 我最高能容忍我的CPU飙到多少?...没有标准答案,一定要结合场景,带着目标,通过测试去找到一个最合适的线程。...可能还有同学可能会有疑问:“我们系统也没啥压力,不需要那么合适的线程,只是一个简单的异步场景,不影响系统其他功能就可以” 很正常,很多的内部业务系统,并不需要啥性能,稳定好用符合需求就可以了。

    73860

    【38期】JAVA中线程池设置多少合适

    真实程序中的线程 那么在实际的程序中,或者说一些 Java 的业务系统中,线程(线程池大小)规划多少合适呢?...这些线程也是运行在当前进程、当前主机上的,也会占用 CPU 的资源。 所以受环境干扰下,单靠公式很难准确的规划线程,一定要通过测试来验证。...流程一般是这样: 分析当前主机上,有没有其他进程干扰 分析当前 JVM 进程上,有没有其他运行中或可能运行的线程 设定目标 目标 CPU 利用率 - 我最高能容忍我的 CPU 飙到多少?...没有标准答案,一定要结合场景,带着目标,通过测试去找到一个最合适的线程。...可能还有同学可能会有疑问:“我们系统也没啥压力,不需要那么合适的线程,只是一个简单的异步场景,不影响系统其他功能就可以” 很正常,很多的内部业务系统,并不需要啥性能,稳定好用符合需求就可以了。

    1.5K20

    MySQL最大连接设置

    通常,mysql的最大连接默认是100, 最大可以达到16384。      在Windows下常用的有两种方式修改最大连接。      第一种:命令行修改。    ...mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。...与连接相关的几个参数:      在修改最大连接的时候会有这样一个疑问—这个值是不是越大越好,或者设置为多大才合适?...这个参数的大小要综合很多因素来考虑,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。...当操作系统无法分配足够的文件描述符的时候,mysqld进程会在错误日志里记录警告信息。

    5.2K10

    聊聊TCP连接耗时的那些事儿

    一条TCP连接的建立需要耗时延迟多少,是多少毫秒,还是多少微秒?能不能有一个哪怕是粗略的量化估计?当然影响TCP耗时的因素有很多,比如网络丢包等等。...、《软中断会吃掉你多少CPU?》、《进程/线程切换会用掉你多少CPU?》这三篇文章。 第二类是网络传输,当包被从一台机器上发出以后,中间要经过各式各样的网线、各种交换机路由器。...假如你开了100个进程/线程,而某一段时间内有50个进程/线程卡在和redis或者mysql服务器的握手连接上了(注意:这个时候你的服务器是TCP连接的客户端一方)。...半连接队列长度Linux内核中,主要受tcp_max_syn_backlog影响 加大它到一个合适的值就可以。...例如将Redis、Mysql等后端接口的内核参数tcp_abort_on_overflow为1。如果队列满了,直接发reset给client。告诉后端进程/线程不要痴情地傻等。

    1.6K50

    聊聊TCP连接耗时的那些事儿

    一条TCP连接的建立需要耗时延迟多少,是多少毫秒,还是多少微秒?能不能有一个哪怕是粗略的量化估计?当然影响TCP耗时的因素有很多,比如网络丢包等等。...、《软中断会吃掉你多少CPU?》、《进程/线程切换会用掉你多少CPU?》这三篇文章。 第二类是网络传输,当包被从一台机器上发出以后,中间要经过各式各样的网线、各种交换机路由器。...假如你开了100个进程/线程,而某一段时间内有50个进程/线程卡在和redis或者mysql服务器的握手连接上了(注意:这个时候你的服务器是TCP连接的客户端一方)。...半连接队列长度Linux内核中,主要受tcp_max_syn_backlog影响 加大它到一个合适的值就可以。...例如将Redis、Mysql等后端接口的内核参数tcp_abort_on_overflow为1。如果队列满了,直接发reset给client。告诉后端进程/线程不要痴情地傻等。

    2.5K40

    新人必备的 Linux 命令!

    , 不会递归 du -sh * wc命令 # 查看文件里有多少行 wc -l filename # 看文件里有多少个word wc -w filename # 文件里最长的那一行是多少个字 wc -...的文件 find /home/eagleye -name '*.mysql' -print # 会从 /usr 目录开始往下找,找最近3天之内存取过的文件。...3819660 0 0 0 10 81 151 0 0 100 0 1 0 0 3499732 315836 3819660 0 0 0 2 83 154 0 0 100 0 r 表示运行队列(就是说多少进程真的分配到...si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。我的机器内存充裕,一切正常。...apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或者线程的峰值一直下调,压测,直到cs到一个比较小的值,这个进程和线程就是比较合适的值了

    97630

    Unix&Linux下常见的性能分析工具介绍

    b.Procs – r: 运行的和等待(CPU时间片)运行的进程,这个值也可以判断是否需要增加CPU(长期大于1) – b: 处于不可中断状态的进程,常见的情况是由IO引起的 c.Memory...它是检查系统进程运行状况最方便的工具了,它默认显示部分活动的进程,并且按照进程使用CPU的多少排序。它可以显示全部CPU的使用状况,也可以显示每个进程都运行在那个CPU上面。...工具介绍-uptime 最简便的查看系统负载的工具,系统负载越小,系统运行状况越好,对于系统负载处在什么范围内比较合适,是没有定论的。...原因:上次解决了CPU资源容易耗尽的问题,目前网站访问量增加了,apache进程时常达到256个,导致内存使用殆尽,频繁使用交换内存,最终仍然导致CPU资源耗尽 iii....处理:把Apache配置中的 KeepAlive 特性关闭,进程大量减少,基本保持在80个进程以内,还是会使用交换内存,但是服务正常了。 d.

    1K10
    领券