记一次性能优化,单台4核8G机器支撑5万QPS
admin 8年前(2019-02-06) 4809浏览
前言 这篇文章的主题是记录一次Python程序的性能优化,在优化的过程中遇到的问题,以及如何去解决的。为大家提供一个优化的思路,首先要声明的一点是,我的方式不是唯一的,大家在性能优化之路上遇到的问题都绝对不止一个解决方案。 如何优化 首先大家要明确的...
admin 8年前(2019-02-06) 4809浏览
前言 这篇文章的主题是记录一次Python程序的性能优化,在优化的过程中遇到的问题,以及如何去解决的。为大家提供一个优化的思路,首先要声明的一点是,我的方式不是唯一的,大家在性能优化之路上遇到的问题都绝对不止一个解决方案。 如何优化 首先大家要明确的...
admin 8年前(2019-01-21) 3168浏览
在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。更多关于MySQL查询相关参照:http://www.cnblogs.com/clsn/p/8...
admin 8年前(2019-01-21) 3170浏览
本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开(本文图片可点开放大)。 一、MySQL索引基础 首先,我们将从索引基础开始介绍一下什么是索引,分析索引的几种类型,并探...
admin 8年前(2018-04-30) 3791浏览
概述 本文介绍基本的python profilter方法,并且用Openstack Nova作为例子展示具体使用方法。 本文介绍的profiler方法区别于一般常用的使用python cProfile模块,cProfile模块的分析结果不直观,并且仍...
admin 9年前(2017-06-13) 657浏览
当我进入 Pinterest 时,我的头三个星期是在本部度过的,在那里最新工程把解决生产问题的成果应用到了整个软件栈中。在本部,我们通过构建 Pinterest 来学习 Pinterest 是怎样被构建的,并且,仅仅在几天里就提交代码、做出有意义的贡...
admin 9年前(2017-06-12) 604浏览
前些天发现XEN虚拟机上的Nginx服务器存在一个问题:软中断过高,而且大部分都集中在同一个CPU,一旦系统繁忙,此CPU就会成为木桶的短板。 在问题服务器上运行「top」命令可以很明显看到「si」存在异样,大部分软中断都集中在 1 号CPU上,其它...
admin 9年前(2017-06-12) 402浏览
今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因引起的。 没有办法的情况下,直接登录服务器,从uw...
admin 9年前(2017-06-06) 4411浏览
先观察上面截图,可以看到两个关键信息: 这台机器已经建立了 238 万个 TCP 连接 使用内存大约在 48G。 下面将会介绍在单个 HAProxy 机器上实现这种规模访问所需的配置。本文是负载测试 HAProxy 系列文章的最后一篇。有时间的读者建...
admin 10年前(2016-06-25) 3712浏览
最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。 由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾...
admin 10年前(2016-03-24) 1327浏览
1. SH调度算法–尽量不要采用 一些业务为了支持会话保持,选择SH调度算法,以实现 同一源ip的请求调度到同一台RS上;但 SH算法本省没有实现一致性hash,一旦一台RS down,当前所有连接都会断掉;如果配置了inhibit_on_failu...
admin 11年前(2015-11-24) 5205浏览
在数据中心网络内,机器之间数据传输的往返时间(rtt)一般在10ms以内,为此调内部服务的超时时间一般会设置成50ms、200ms、500ms等,如果在传输过程中出现丢包,这样的服务超时时间,tcp层有机会发现并重传一次数据么?如果设置成200ms以...
admin 11年前(2015-09-13) 4144浏览
当文件被创建,修改和访问时,Linux系统会记录这些时间信息,当访问足够频繁将会是很大的开销,因为每次访问都会记录时间,所以 我们今天使用bonnie++来简单测试我们修改noatime给我们带来的性能提升有多少,我们先下载最新版本的bonnie++...
admin 11年前(2015-09-13) 3967浏览
随着今年 5 月 14 日 HTTP/2 协议正式版的发布,越来越多的网站开始部署 HTTP/2 了。我对 HTTP 协议一直都比较有兴趣,本文汇总一些关于 HTTP/2 的资料以及我写过的文章,会持续更新。如果大家有任何问题,欢迎留言交流探讨。 协...
admin 11年前(2015-07-31) 13497浏览
在选择KVM中的网络设备时,一般来说优先选择半虚拟化的网络设备而不是纯软件模拟的设备,使用virtio_net半虚拟化驱动,可以提高网络吞吐量(thoughput)和降低网络延迟(latency),从而让客户机中网络达到几乎和原生网卡差不多的性能。 ...
admin 11年前(2015-07-03) 5811浏览
一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发。简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制线程只有一个sql thread用于binlog的...
admin 11年前(2015-07-03) 99浏览
MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多...
admin 11年前(2015-07-03) 8070浏览
MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持“真正”的并行复制功能,官方称为为enhanced multi-threa...
admin 11年前(2015-07-02) 3208浏览
对于数据库来讲大多瓶颈都出现在IO问题上,所以现在SSD类的设备也才能大行其道。那数据库的IO这块有什么可以优化的吗? 我这里大致谈一下我的看法,希望能达到一个抛砖引玉的效果。 这里谈一下数据库本身的配置方面 具体如下: 配置方面对于IO优化的原则:...
admin 11年前(2015-05-30) 3820浏览
按照题主的意思 是根据内存去算一个最大并发的连接数. 那么首先要找出来单个连接消耗内存的地方. 第一个首先是socket buffer. read 和write 分别有一个, 默认大小在 /proc/sys/net/ipv4/tcp_rmem (fo...
admin 11年前(2015-04-24) 5396浏览
一般来说nginx配置文件中对优化比较有作用的为以下几项: worker_processes 8; 1 nginx进程数,建议按照cpu数目来指定,一般为它的倍数。 worker_cpu_affinity 00000001 00000010 0000...
admin 11年前(2015-03-30) 27浏览
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。 为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。希望这份文档,对正在研究JVM参数的朋友有...
admin 11年前(2015-03-26) 61浏览
As3 这门语言在本身设计的时候处理内存泄漏机制很不完善,所以造成了内存无限制的占用,最后导致内存占用过高直至程序假死或者崩溃。 现在可以通过以下方法有效的降低内存占用: 1,及时将所有不需要的变量,以及对象清除(置为null).如果变量或对象被引用...
admin 11年前(2015-03-26) 4134浏览
最近碰到一个慢SQL问题,解决过程有点小曲折,和大家分享下。 SQL本身不复杂,表结构、索引也比较简单,不过个别字段存在于多个索引中。 CREATE TABLE `pre_forum_post` ( `pid` int(10) unsigned NO...
admin 12年前(2015-03-25) 51浏览
SYN 包攻击是网络上比较老的一种攻击方式。在 Linux 中,可以通过开启 net.ipv4.tcp_syncookies = 1 来抵抗这种攻击。那么,在开启 syncookies 之后,Linux 系统做了些什么?如何做的?这是本文试图整理的内...
admin 12年前(2015-03-24) 41浏览
【问题现象】 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。 SQL语句如下: SELECT DISTINCT g.*, cp.name AS cp_name, c.name...
admin 12年前(2015-03-24) 44浏览
RHEL/CentOS 在 6.3 版本以后引入了一套新的系统调优工具 tuned/tuned-adm,其中 tuned 是服务端程序,用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的;tuned-adm...
admin 12年前(2015-03-24) 43浏览
在百年的时候,倒是一直用 Apache 服务器,不过貌似没有对其进行过优化,自从把博客迁移到了 Linode VPS 上,权限更大了,但是就要自己关注博客性能问题了,用 ab 测试我的博客,性能数据惨不忍睹,没办法谁叫我只买了 512MB 的 VPS...
admin 12年前(2015-03-24) 54浏览
第一部分:PHP程序部分 按需执行: A:以正则为例, 与普通字符串函数相比,其效率是非常低的([php正则性能]). 很多情况下都可以避免的。 B:按需加载类似Bingo2(spl_autoload_register) 避免重复计算 A:for($...
admin 12年前(2015-03-22) 2993浏览
1. 记住阿姆达尔定律: funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数。 所以,如果你优化了函数TriangleIntersect执行40%的运行时间,使它运行快了近两倍,而你的程序会运行快25%。 这...
admin 12年前(2015-03-22) 3143浏览
白忙活了近2个小时,不吐不快: 一切要从今天下午5点左右说起, 调试一个扩展, 用valgrind(valgrind-3.8.1)做例行检查, 很不幸的valgrind报告invalid read: db attach上去以后, 发现报告错误的地方是...