问题标签 [aio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1597 浏览

mysql - mysql崩溃windows aio无法继续运行

今天我安装的mysql 5.5.20 wamp 一直随机崩溃。

似乎在 InnoDB 失败:文件操作调用:'Windows aio'。InnoDB:无法继续操作。

我跑mysqlcheck -c -u root -p --all-databases了,一切正常。

我该怎么做才能解决这个问题?我正在运行 Windows Server 2008

错误转储如下

0 投票
1 回答
362 浏览

c++ - 为什么使用 io_submit API 提交 pwrite 请求比提交 pread 请求慢得多?

我有一个从磁盘读取大量数据并写入大量数据的应用程序。我正在尝试使用直接 io 来提高 I/O 性能。

现在我正在使用libaio实现异步 IO,用于读取和写入。初步结果显示阅读阶段有所改善,但写作阶段大幅下降。

然后我用来strace捕获运行时行为,这是阅读阶段日志(我删除了一些不相关的日志):

这是写作阶段日志:

通常,相同的io_submitAPI 需要不同的时间。即使一次提交 16 个读请求,它仍然比提交 1 个写请求快。

所以是对的吗?如何优化我的写作阶段?

0 投票
1 回答
434 浏览

authentication - 带有自己过滤器的 alfresco sdk 身份验证承载

我开始使用最新版本的 Alfresck SDK (All in one)。我正在尝试在 Alfresco 中自定义身份验证。我使用文档配置了一个新的身份验证:身份验证,但我想提供 JWT 令牌基础身份验证。当我尝试通过 http 标头时: Authorization: Bearer mytoken - 它是由子类 RemoteUserAuthenticatorFactory 中的 BasicHttpAuthenticatorFactory 咳嗽的,它说它不受支持。如何传递我自己的不记名令牌然后调用:public Authentication authenticate(Authentication authentication) throws AuthenticationException 方法?我没有看到添加新的自己的 servlet 过滤器的文档。

0 投票
2 回答
450 浏览

asynchronous - 为什么 aio_write() 行为错误?

我想使用 aio_write 写入 2 个文件。

使用 32KB 缓冲区并为 1 个文件重复 aio_write 2048 次。(文件大小为 64MB)

但是,现在结果不是 64MB,而是大小为 64MB + 32KB。

有时文件也是由垃圾写入的。我想填写“A”来归档。

请帮我。

0 投票
0 回答
78 浏览

c - aio内存占用大

我用aio写了一个测试程序,但是我发现当写数据的主进程结束时,我的进程的内存使用率从来没有下降过。任何人都可以就我的程序问题或aio缓存提供一些提示吗?

我的程序:

内存使用量上升到 4G 以上(有时 3G,可能会发生变化),但mallocandfree函数都运行了 10,000,000 次,所以我认为它没有内存泄漏问题。

0 投票
1 回答
246 浏览

c - 大文件上的 aio_write

我试图从本质上模仿使用andsendfile(2)以异步方式的功能。aio_read(3)aio_write(3)

除了测试大(> 150k)文件外,一切似乎都运行良好。

我有一个简单的struct io_request用来跟踪转移的方法:

首先,我建立aio_read()电话:

然后在IO_READ_SIGNAL处理程序中捕获:

我可以确认在处理程序内部,即使对于大文件,其内容ioreq->aiocbp->aio_buf也是完整的。

稍后,aio_write()在处理程序中捕获IO_WRITE_SIGNAL

至此aio_write()应该已经完成​​了。我检查返回值并采取相应措施。两个调用都报告已写入适当数量的字节,并且在写入过程中没有出现错误。

更大的应用程序是 HTTP 服务器。我推测这个问题的出现是因为远程客户端的读取速度不够快,无法跟上aio_write(). 当我有这个实现时,我必须多次sendfile()调用才能完成文件传输。sendfile()

几个直接的问题:

  • 为什么不aio_return()报告aio_error()任何问题?
  • 我该如何解决这种行为?
  • 有没有办法缓冲aio_write()?我正在考虑将n_bytes内部struct aiocb传递给封顶,并从内部多次aio_write()调用。aio_write()aio_write_handler()

谢谢你的帮助!

0 投票
2 回答
5338 浏览

ubuntu - 编译 nginx 时找不到 AIO

我正在尝试在 ubuntu 上编译 nginx,我正在使用以下配置参数:

现在,当我尝试编译它时,这是我得到的错误:

现在,当我删除 -with-cc-opt 行时,我没有收到此错误并且它找到了 AIO。我正在安装 libaio1 和 libaio-dev,所以库在那里,但我仍然收到此错误。你能帮我弄清楚吗。TIA。

0 投票
1 回答
1080 浏览

linux - “Linux aio”和“Linux native aio”是一回事吗?

最近在研究linux io模型,经常听说linux和windows IOCP一样,有自己的aio模型实现:Glibc aio和内核aio。

问题:

(1)当人们说“linux native aio”时,指的是哪个型号?

(2) 我听到了 2 个不同的术语,“linux aio”和“linux native aio”。它们是相同的东西,还是表示不同的实现?

0 投票
1 回答
366 浏览

linux - 为什么 boost::aio 基于 epoll(synchronous) 实现时是异步的

我们知道:

(1) epoll 是同步的,基于用户查询/系统通知。while 循环用于调用所有唤醒的 fd。

(2) boost::asio 声明自己是“异步的”,但它在linux上的实现是使用epoll。

我的问题是:如何使用“syn”系统调用来实现“asyn”?除非你使用一些内核/系统支持的 aio 接口,对吧?

请帮助纠正我的困惑。谢谢!

0 投票
1 回答
484 浏览

c - 如何异步“打开”和“关闭”一个串口?

我正在尝试以异步方式使用串行端口。我可以使用select,pollepollwithO_NONBLOCK进行异步读写。但是openclose呢?

我已经看到close块超过一秒钟了。