IT技术博客大学习 共学习 共进步

标签:阻塞

共 8 篇相关文章

IT 浏览 2,580

PHP非阻塞实现方法

为让 PHP 在后端处理长时间任务时不阻塞,快速响应页面请求,可以有如下措施。

IT 浏览 2,160

说说最近Google:safebrowsing引发页面加载阻塞的问题

发现这样一个问题: 在某些Firefox浏览器中,表单的butterfly加载阻塞导致功能异常了。一开始,我们以为是即将发布的修改点导致的问题。但再三确认本次的修改点后,确定只是改了文案啊! 这…因此,我们首先怀疑是否线上已经有问题? 经过测试发现,果然,确实是个线上问题。经过并不算麻烦的自测后,发现问题还不小:影响范围:所有Firefox版本。

IT 浏览 4,100

Linux下访问文件的基本模式

访问文件的操作主要是指读文件和写文件,本文简单说明内核中几种常见的访问文件的方式。

IT 浏览 3,580

总结一下遇到过的网络同步IO导致服务阻塞的问题

在上家公司曾写过这样一个服务,用户通过我的应用(以下简称fri_svr)索取自己的好友信息,而fri_svr需要向第三方平台(如:人人,Facebook)通过http协议批量请求用户数据,由于用户数据可能很大(几k几十k的级别),所以整个req/rep的过程通常会很慢,平均大概会在 1s - 10s 之间,这样当瞬时请求量到一定级别后,就会造成fri_svr的内存暴涨且响应不了前端的请求,原因在于fri_svr会对前端的每个请求hash到(根据user_id)专门用于http请求的线程队列中(也即是one thread per queue模型),当前端向fri_svr的请求速率大于平台响应fri_svr的,那么就会造成fri_svr中队列的积攒,内存的暴涨,且无法在超时时间内响应前端请求。

IT 浏览 3,460

Linux 核心编程 – fsync, write

write ssize_t write(int fd, const void *buf, size_t count); 将数据写到文件中. 注意, 如果文件是保存在硬盘中, write() 函数调用返回之后, 并不表示数据已经写入到硬盘中, 这时如果掉电, 数据可能会丢失. fsync int fsync(int fd); 程序调用本函数, 通知内核把数据写到硬盘(file)中. 比如, 你开发一个数据库软件, 就需要这样的函数, 否则掉电或者系统崩溃时便会丢失数据. 如果你的程序不调用 fsync(), Linux 内核也会自动在”合适”的时候将你的数据真正写入到硬盘(类似调用 fsync), 最长的延时默认是 30 秒. 阻塞阻塞是 IO 的精华所在, 不管是文件 IO 还是网络 IO, 只有真正了理解了 IO 阻塞, 才能做出所谓在高并发高性能软件(服务器)

IT 浏览 3,740

用insert delayed减少阻塞时间

高并发地进行insert经常导致阻塞很长时间。 有些场景下我们并不需要知道insert之后的结果。因此可以采用insert delayed方法。 insert delayed是myisam对与sql标准的扩展,在innodb引擎下并不支持。 insert delayed之后,系统会立刻返回结果,使用last_inserted_id方法不能获得insert delayed得到的主键ID

IT 浏览 16,420

关于IO的同步,异步,阻塞,非阻塞

本文讲述了IO调用中的阻塞,非阻塞,同步,异步的概念和关系。是的读者可以很清楚的理解这几个概念。看了这篇文章,绝对可以很了解这几个IO调用的概念了。

IT 浏览 3,920

MySQL在切换binlog时会阻塞更新

版本5.0.51b-log,在max-binlog-size设置为700M或者更大时(这个值可能跟硬件性能有关),当binlog达到设置上限并切换成下一个binlog时,所有的更新语句就会被阻塞,不管多简单的语句。