解决mysql出现“the table is full”的问题

四 12th, 2013 | Filed under WEB服务器, 开源技术, 数据库技术

mysql错误日志监控发来的警报,错误日志如下:

101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table ‘test_1291870945841162′ is full
101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table ‘test_1291870945841162′ is full
101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table ‘test_1291870945841162′ is full
101209 13:13:32 [ERROR] /usr/local/mysql/bin/mysqld: The table ‘test_1291870945841162′ is full

通过查询mysql官方站点:
http://dev.mysql.com/doc/refman/5.0/en/full-table.html 得知:
因为系统是linux,不存在操作系统和文件格式的限制,通过表的名字可以得知,该表应该是个临时表,再说数据库里面也查不到该表。 阅读全文…

标签: , , ,

tcp_tw_recycle和tcp_timestamps导致connect失败问题

近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参数tcp_tw_recycle/tcp_timestamps相关;
1. 现象
第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp timestamp,而模块B开启了tcp timestamp;
第二个现象:不同主机上的模块C(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1 connect成功,而主机C2 connect失败; 阅读全文…

Linux下高并发socket最大连接数

1、修改用户进程可打开文件数限制

在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制: 阅读全文…

“STEP” ——通往敏捷之旅的藏宝图

一 10th, 2013 | Filed under 系统架构及硬件, 项目管理

若干阻碍

现在来看,公司要在创新上、产品改进上获得成功是越来越困难了。通常需要花上几个月,甚至几年才能到熬到“收获”的时刻。

然后,只有灵活的、快速适应的组织才能够繁荣地发展,赢得市场份额。这些组织往往鼓励每个员工找到满足客户需求的方法,并能够在为他人工作时获得快乐。

那些对变化响应缓慢的组织,则只能眼睁睁看着自己的生意被慢慢地蚕食掉,有时候甚至走向消亡。这些组织往往无法有效地调动起员工的智慧和热情,只会孤军奋战。

在许多方面,我们的管理人员的思想、运作组织的方式与结构,还是会与快速适应的理念背道而驰,尽管他们的初衷是希望能够做到快速的适应,但结果往往却把事情搞复杂。 阅读全文…

标签:

谈谈阿里系的技术积累(by fenny 冯大辉)后感

一 6th, 2013 | Filed under WEB服务器, 开源技术, 数据库技术

喧嚣的双 11 促销活动已经结束,淘宝、天猫、支付宝等阿里旗下的网站在当天爆发出惊人的能量,让人瞠目结舌:全天总交易额达到 191 亿,其中天猫132 亿,淘宝 59 亿,支付宝日订单数量超过一亿笔。金额已经超过美国去年”网购星期一”最高纪录,当然也超过今年的黑色星期五的 10.42 亿美元。尽管大淘宝在促销开始的时候服务稍有不稳定,但整天下来服务堪称可靠。这是个值得称赞的成就。 从另一个角度看数据,峰值数据是每分钟 89678 笔交易,峰值时刻一分钟超过 1700 万人民币的交易额,对比之下,eBay 披露的数据是每秒钟 2500 美元(峰值或许会更高一些)。但经此一战,可以说,阿里系在电商领域上的技术积累的确是全球独步了。 阅读全文…

标签: , ,

WordPress解析.mo语言文件超时 Maximum execution time of 30 seconds exceeded

十一 21st, 2012 | Filed under 开源技术

此问题一直跟踪查找了一天;后来发现是xdebug搞的鬼,查看php.ini配置,xdebug.auto_trace = 1,设置为0,刷新页面快了许多,auto_trace是xdebug自动跟踪开关,xdebug消耗较大一般不建议开启。

在调用的时候加入:

/**
* 可以新建一个php文件,需要跟踪的php页面包含该页面即可
*/
define(‘XDEBUG_TRACE_FILE’, ‘/tmp/’ . date(‘mdHis’) . ‘.’ . rand()); // 一般不用改
// reg stop trace
register_shutdown_function(‘xdebug_stop_trace’);
// start trace
xdebug_start_trace(XDEBUG_TRACE_FILE);

就可以

标签:

为什么有些编程语言会死而有些能活下来?

八 27th, 2012 | Filed under 其他, 开源技术

谷歌打算要改变我们这个世界写软件的方法。近年来,这个搜索引擎巨头试图在这个星球中已经最广泛使用的编程语言上做改进,已经推出了2种新的编程语言。

通过一种叫Go的语言,谷歌试图拿它来替换年事已高的C或C++语言,希望它能提供一种更加快捷的在数据中心里开发大型软件平台的方法。而通过一种叫Dart的语言,谷歌想用它来替代JavaScript,改进我们开发运行在Web浏览器里的软件的方法。

但是,不管这些新的编程语言多么的具有吸引力,我们不得不问一句,它们需要多久才能真正的流行起来——如果能够的话。毕竟,新的编程语言不停的诞生。但只有很少一部分能被广泛的接受。 阅读全文…

标签:

移动互联网畸形现象:规模大,不赚钱

八 27th, 2012 | Filed under 其他

看似有前景,但不赚钱。当移动互联网的“市梦率”被不断催高时,投资者和开发者开始警惕起来。

这个被TechCrunch撰稿人杰伊·贾米森称为Web 3.0的互联网概念,在经过去年的高度吹捧之后,目前正受到广泛的质疑。

这种质疑随着近来国内移动陌生社交应用陌陌获得高达1亿美元估值的B轮融资,而达到了高点。一名投资者认为,在巨头公司阴影下成长,且看不到营收模式的移动互联网公司,都能获得1亿美元估值的话,那说明这个行业离泡沫已经不远。

目前,移动互联网领域出现奇怪的“二元现象”。 阅读全文…

Apache的worker和prefork模式比较

八 7th, 2012 | Filed under Linux相关, WEB服务器, 开源技术

选择prefork还是worker可以在编译时使用–with-mpm=MPM参数指定,默认为prefork,

prefork

prefork采用预派生子进程方式,用单独的子进程来处理 不同的请求,进程之间彼此独立。在make编译和make install安装后,使用httpd -l来确定当前使用的MPM是prefork.c。查看httpd-mpm.conf配置文件,里面包含如下默认的配置段:

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
prefork 控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两 个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止。这种模式 可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。 阅读全文…

apache2.0 MPM 调优

八 7th, 2012 | Filed under Linux相关, WEB服务器, 开源技术

1, apache2.0 MPM 调优

apache MPM的引入带来性能改善

Apache 2.0在性能上的改善最吸引人。在支持POSIX线程的Unix系统上,Apache可以通过不同的MPM运行在一种多进程与多线程相混合的模式下,增强部分配置的可扩充性能。相比于Apache 1.3,2.0版本做了大量的优化来提升处理能力和可伸缩性,并且大多数改进在默认状态下即可生效。但是在编译和运行时刻,2.0也有许多可以显著提高性能的选择。本文不想叙述那些以功能换取速度的指令,如HostnameLookups等,而只是说明在2.0中影响性能的最核心特性:MPM(Multi-Processing Modules,多道处理模块)的基本工作原理和配置指令。

毫不夸张地说,MPM的引入是Apache 2.0最重要的变化。大家知道,Apache是基于模块化的设计,而Apache 2.0更扩展了模块化设计到Web服务器的最基本功能。服务器装载了一种多道处理模块,负责绑定本机网络端口、接受请求,并调度子进程来处理请求。扩展模块化设计有两个重要好处:

◆ Apache可以更简洁、有效地支持多种操作系统;

◆ 服务器可以按站点的特殊需要进行自定制。

在用户级,MPM看起来和其它Apache模块非常类似。主要区别是在任意时刻只能有一种MPM被装载到服务器中。 阅读全文…

标签: ,