V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  NoAnyLove  ›  全部回复第 13 页 / 共 25 页
回复总数  489
1 ... 9  10  11  12  13  14  15  16  17  18 ... 25  
2017-08-22 11:05:19 +08:00
回复了 6mL 创建的主题 Linux 昨晚 Vultr 日本挂了 然后就连不上了
Orz,所以是你乱设置了 iptables 规则?
2017-08-20 12:05:16 +08:00
回复了 Zioyi 创建的主题 Python 各位老师傅们, python2 支持异步 I/O 编程吗?
@Zioyi Orz,突然反应过来,如果你的线程中不存在其他 I/O 操作,或者其他阻塞操作的话,按照之前的写法,你把 50 线程改成单线程,说不定会更快一些。。。。。。。 因为基本上对数据库的所有操作都放入临界区了。不过你之前既然说过 50 线程跑 14 分钟,单线程跑 40 分钟,那我只能推断你的线程中还存在了其他阻塞操作
2017-08-20 11:53:52 +08:00
回复了 Zioyi 创建的主题 Python 各位老师傅们, python2 支持异步 I/O 编程吗?
@Zioyi 建议你跑一跑代码,对比一下性能,记得反馈最终结果哦
2017-08-20 11:53:05 +08:00
回复了 Zioyi 创建的主题 Python 各位老师傅们, python2 支持异步 I/O 编程吗?
@Zioyi 没遇到过这种情况,不过感觉(Lock wait timeout exceeded; try restarting transaction)是因为你的并发太高了?不过如果使用了 Lock,同时只有一个线程对数据库读写的话,那么感觉有点跑不够。几个选择:

1. 把 lock 换成 threading.BoundedSemaphore,然后设置一个合适的并发值(多试几次,找出一个合理的值,记得对报错的情况要 try-except )
2. 直接引入 gevent, monkey.patch_all(),并发 50 个协程,如果出现同样的错误提示,那么很可能是并发高了,同样可以引入 gevent.lock.BoundedSemaphore 来控制并发数,或者减少协程数目。

如果出现了 2 这种情况,使用协程和多线程的性能差距应该不会特别大。异步 I/O 的性能高需要有足够高的并发数,如果瓶颈是在并发数上,你还可以试试更换其他操作 MySQL 的 Python 库,比如我前面提到的 ultramysql,主页上写的这个库支持个 gevent,star 数也不低,但是居然找不到官方文档,Orz
2017-08-20 00:10:06 +08:00
回复了 magic3584 创建的主题 Python Python 怎么下载磁力/电驴/迅雷的资源
这种时候,你只需要遵循 KISS 原则就好了,有现成的东西当然就是拿来用咯
2017-08-20 00:04:56 +08:00
回复了 Zioyi 创建的主题 Python 各位老师傅们, python2 支持异步 I/O 编程吗?
那么问题来了,具体是什么数据库?经过什么中间架构进行连接的吗(比如是不是要经过 HTTP 请求对数据库进行操作)?还是直接对数据库进行操作?用的什么 Python 库对数据进行操作?

如果要高效地对数据库进行异步操作,那么操作数据库的 Python 库也必须是异步的,比如 aiomysql。asyncio 至少需要 3.3 才能支持,如果你坚持使用 Python 2 的话,可以选择 gevent,并且搭配支持 gevent 的异步数据库操作库,比如 ultramysql

话说,既然你的并发依赖的是数据本身提供的锁机制,为什么会觉得瓶颈是因为 Python 线程的竞争?你在 Python 上还做了什么同步机制?
2017-08-19 12:19:34 +08:00
回复了 Zioyi 创建的主题 Python 各位老师傅们, python2 支持异步 I/O 编程吗?
即使是 Python 3 asyncio 在 Windows 上也是不支持异步文件操作的,我也很绝望啊,明明 ProactorEventLoop 用的 IOCP 是支持文件读写的,完全不知道为啥独裁者大人不开发对应的文件支持功能,搜索了半天也没搜索到结果和原因,全程懵逼状态。。。。。。

还是得看你具体什么 I/O 操作,是在什么操作系统上,至少 Windows 上的文件和 socket 是不同的。而且,如果是用 select 也可以被称作异步 I/O,只不过没有用到协程罢了。你的问题有点太宽泛了,不够具体。

另外,如果你会搜索的话,就会知道,还有个东西叫做 Trollius
2017-08-19 12:12:38 +08:00
回复了 zhouyuanv5 创建的主题 程序员 你是如何做到在英文技术社区交流自如的?
实话实说,大学和中学时候学的语法已经完全混淆了,事态什么的完全弄不清楚了,一些经典用法,什么虚拟语气啊、什么状语从句啊,全程懵逼状态。全靠模仿别人类似的话已经尽量用对词,Orz

——感觉英语白学了系列
2017-08-18 08:21:02 +08:00
回复了 lynnX 创建的主题 云计算 阿里云国际版美西爆款 30 刀一年的实际使用感受怎样?
这个价格倒是比较良心,相当于 Vultr 家 2.5 刀 /年,512M 内存,500G 流量的价位,但是内存是 1024M 和 1T 流量,感觉比 BudgetVM 等几家都还要便宜,就是不知道网络情况如何,坐等体验报告。
2017-08-18 08:20:12 +08:00
回复了 saximi 创建的主题 Python 如何 16 进制转义
完全不知道在说什么,Orz,我猜是这个意思?

```python3
s = "Hello\n 中文\nWorld"
ss = ''.join('\\x%02X' % b for b in s.encode('utf-8'))
print(ss)
```
2017-08-18 01:47:06 +08:00
回复了 Sanko 创建的主题 Python 有大佬研究哔哩哔哩的模拟登陆吗?想把看过的视频记录拿出来
@ysc3839 我记得 Fiddler 可以通过安装证书实现劫持 HTTPS 进行分析,不知道对 Android 端是否有效。或者需要把证书安装到 Android 上?
2017-08-17 11:41:10 +08:00
回复了 beyoung 创建的主题 程序员 妹子 你不懂装懂的样子真可爱
v2 能加个暴打撒狗粮行为的功能吗?
2017-08-17 09:27:40 +08:00
回复了 Sanko 创建的主题 Python 有大佬研究哔哩哔哩的模拟登陆吗?想把看过的视频记录拿出来
@ysc3839 说错了,是“接口”不是“借口”
2017-08-17 09:27:12 +08:00
回复了 Sanko 创建的主题 Python 有大佬研究哔哩哔哩的模拟登陆吗?想把看过的视频记录拿出来
@ysc3839 这个很赞,才知道原来不用解决滑动验证也能登陆。这个借口是如何分析出来的?
2017-08-17 08:18:05 +08:00
回复了 rabbbit 创建的主题 Python 如何实现多线程下载时,同时显示多个进度条?
@rabbbit 上面给的 issue 的链接有我写的示例代码,需要对创建 tqdm、tqdm.update 和 tqdm.close 都要加锁。另外还有个 position 的小技巧,要从 1 开始
2017-08-17 08:08:39 +08:00
回复了 rabbbit 创建的主题 Python 如何实现多线程下载时,同时显示多个进度条?
2017-08-17 00:59:28 +08:00
回复了 rabbbit 创建的主题 Python 如何实现多线程下载时,同时显示多个进度条?
@rabbbit 我觉得你需要贴张图说明是什么样的 bug。另外,多个线程可以同时向终端 print,可能会造成混乱。加个锁试试。
2017-08-17 00:52:57 +08:00
回复了 rabbbit 创建的主题 Python 如何实现多线程下载时,同时显示多个进度条?
@rabbbit 具体什么样的 bug ?
1 ... 9  10  11  12  13  14  15  16  17  18 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2089 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 10:56 · PVG 18:56 · LAX 03:56 · JFK 06:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.