sendfile(数据直接从kernal的buffer出去)适合小文件Aio(nginx)全异步(与事件驱动io的区别是:数据会到达mem才会通知,其实也不需要通知可以直接返回给客户端)支持:mmapeventdrive(处理大文件)上一回说到,在数据库修改后,redis里面的数据不能做到自动更新,必须手动删除更..
分类:
数据库 时间:
2017-04-04 01:15:51
阅读次数:
289
参考 https://zhuanlan.zhihu.com/p/20768200?refer=auxten 而成本很多时候的体现就是对计算资源的消耗,其中最重要的一个资源就是CPU资源。 Sendfile(2)在这个时代背景下于2003年前后被加入Linux Kernel,陆续在各大UNIX、Lin ...
分类:
其他好文 时间:
2017-01-22 23:34:14
阅读次数:
207
抽了点时间研究了下KTLS,这源自于跟同事交流的一个问题,那就是现如今的HTTPS服务器以及scp命令传输本地文件的时候,无法使用sendfile系统调用! 这个话题让我想起了很多的老同...
分类:
其他好文 时间:
2016-12-25 15:54:01
阅读次数:
490
一、典型IO调用的问题一个典型的web服务器传送静态文件(如CSS,JS,图片等)的过程如下:read(file, tmp_buf, len);write(socket, tmp_buf, len);首先调用read将文件从磁盘读取到tmp_buf,然后调用write将tmp_buf写入到socke ...
分类:
其他好文 时间:
2016-12-22 06:48:05
阅读次数:
169
nginxNginx(engineX)是一个高性能的HTTP服务器和反向代理服务器,这款软件开发的目的是为了解决C10k问题。Nginx的架构利用了许多现代操作系统的特性,以实现一个高性能的HTTP服务器。例如在Linux系统上,Nginx使用了epoll,sendfile,FileAIO,DIRECTIO等机制,使得Nginx不仅性..
分类:
其他好文 时间:
2016-12-10 23:16:05
阅读次数:
287
@main.route(‘/sendfile‘,methods=[‘GET‘,‘POST‘])
defsendfile():
ifrequest.method==‘POST‘:
f=request.files[‘file‘]
basepath=path.abspath(path.dirname(__file__))
upload_path=path.join(basepath,‘static/uploads‘)
f.save(upload_path+‘/‘+secure_filename(f.filename..
分类:
其他好文 时间:
2016-11-21 23:48:04
阅读次数:
490
#access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server{ listen 80; server_name 19 ...
分类:
其他好文 时间:
2016-10-29 21:54:33
阅读次数:
186
一、典型IO调用的问题一个典型的web服务器传送静态文件(如CSS,JS,图片等)的过程如下:read(file, tmp_buf, len);write(socket, tmp_buf, len);首先调用read将文件从磁盘读取到tmp_buf,然后调用write将tmp_buf写入到socke ...
分类:
其他好文 时间:
2016-09-22 21:14:58
阅读次数:
171
今天在看nginx thread pool的时候,频繁的看到sendfile,其实以前也经常看到sendfile,只是我平时选择性的忽视而已。。。 先说下sendfile,明天在好好聊下nginx 线程池的一些突发点, 通过伪官方的博客介绍了如何利用nginx 线程池aio,实现9倍的性能…. 个人 ...
分类:
系统相关 时间:
2016-09-12 14:03:08
阅读次数:
268
引言 C10K problem提到一种zero-copy的技术,可以提高网络的吞吐量,分布式消息队列kafka中在消费者消费消息的时候根据offset进行zero-copy。linux下的zero-copy通过sendfile API实现。 什么是zero-copy zero-copy在概念上是值操 ...
分类:
其他好文 时间:
2016-07-03 01:45:15
阅读次数:
174