- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 Linux Centos Apache 服务器的性能有问题。我有一个程序(用 c 语言编写)可以同时执行许多 http 请求。这个过程本身看起来非常有效,就好像我可以同时向外部服务器发出 500 个请求,而与只有 1 个请求相比没有任何明显的时间差异。
但是,我在同一台服务器上有许多脚本,我使用同一程序同时运行这些脚本。要运行的脚本数量各不相同,但单次搜索大约有 100 个。
每个脚本的任务是调用 API(在外部服务器上)解析所需的数据并将其插入数据库。
我测量了每个脚本的启动时间,我注意到每个脚本的启动都有很大的延迟。第一个脚本的开始和最后一个脚本的开始之间最多有 10 秒的差异。这么大的时间延迟使我网站上的搜索变慢了。
我在我的 linux centos 机器上使用了 top 命令,在搜索过程中查看下面 2 个不同实例的 2 个示例。
顶级命令示例 1:
top - 18:51:18 up 36 days, 3:35, 1 user, load average: 0.02, 0.07, 0.08
Tasks: 182 total, 2 running, 180 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.7%us, 1.3%sy, 0.0%ni, 94.9%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 4194304k total, 3941184k used, 253120k free, 26820k buffers
Swap: 4194296k total, 76k used, 4194220k free, 2069456k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
691 apache 15 0 190m 18m 5052 S 4.0 0.5 0:00.19 httpd
959 apache 17 0 189m 15m 3196 R 3.0 0.4 0:00.09 httpd
702 apache 15 0 185m 101m 5036 S 1.7 2.5 0:00.86 httpd
732 apache 15 0 184m 12m 5036 S 1.7 0.3 0:00.15 httpd
689 apache 15 0 184m 14m 5144 S 0.7 0.3 0:00.87 httpd
734 apache 15 0 184m 100m 4740 S 0.7 2.4 0:00.21 httpd
670 apache 15 0 205m 99m 4992 S 0.3 2.4 0:00.39 httpd
678 apache 15 0 184m 13m 5032 S 0.3 0.3 0:01.05 httpd
795 root 15 0 12764 1356 956 R 0.3 0.0 0:00.03 top
949 apache 15 0 181m 9616 2928 S 0.3 0.2 0:00.01 httpd
951 apache 20 0 180m 8748 2640 S 0.3 0.2 0:00.01 httpd
1 root 15 0 10372 792 664 S 0.0 0.0 0:00.20 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.14 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.04 events/0
6 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khelper
7 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
9 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 xenwatch
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 xenbus
37 root 10 -5 0 0 0 S 0.0 0.0 0:00.03 kblockd/0
42 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0
50 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 khubd
52 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
137 root 15 0 0 0 0 S 0.0 0.0 0:00.00 khungtas
顶级命令示例 2:
top - 18:52:49 up 36 days, 3:36, 1 user, load average: 0.53, 0.21, 0.12
Tasks: 240 total, 8 running, 231 sleeping, 0 stopped, 1 zombie
Cpu(s): 50.4%us, 4.8%sy, 0.0%ni, 43.5%id, 0.5%wa, 0.0%hi, 0.5%si, 0.2%st
Mem: 4194304k total, 4097104k used, 97200k free, 27148k buffers
Swap: 4194296k total, 76k used, 4194220k free, 1965428k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
949 apache 16 0 185m 101m 5328 S 32.1 2.5 0:01.19 httpd
1229 apache 16 0 184m 12m 4580 S 32.1 0.3 0:00.98 httpd
968 apache 17 0 188m 17m 4732 S 30.4 0.4 0:01.92 httpd
1244 apache 17 0 184m 12m 4580 S 27.8 0.3 0:00.86 httpd
994 apache 16 0 190m 19m 5060 S 27.5 0.5 0:01.69 httpd
1222 apache 16 0 218m 44m 4676 R 26.5 1.1 0:00.82 httpd
1657 mysql 15 0 627m 223m 5664 S 23.5 5.5 65:16.63 mysqld
1256 apache 16 0 184m 12m 4580 S 21.2 0.3 0:00.81 httpd
1245 apache 16 0 210m 37m 4084 R 14.6 0.9 0:00.47 httpd
1005 apache 16 0 213m 42m 5308 R 13.6 1.0 0:00.67 httpd
1246 apache 17 0 184m 12m 4580 S 11.3 0.3 0:00.74 httpd
1214 apache 16 0 182m 10m 4060 S 3.3 0.3 0:00.23 httpd
1253 apache 16 0 184m 12m 4580 S 2.3 0.3 0:00.67 httpd
1233 apache 15 0 196m 22m 3696 R 2.0 0.6 0:00.17 httpd
1215 apache 15 0 183m 11m 4060 S 1.7 0.3 0:00.18 httpd
1265 apache 15 0 182m 11m 3444 S 1.7 0.3 0:00.05 httpd
1230 apache 16 0 180m 9644 3436 S 1.3 0.2 0:00.04 httpd
1210 apache 15 0 192m 19m 3620 S 1.0 0.5 0:00.14 httpd
1011 apache 15 0 193m 22m 5356 R 0.7 0.5 0:00.86 httpd
1016 apache 15 0 192m 19m 4092 S 0.7 0.5 0:00.20 httpd
1019 apache 15 0 192m 21m 4972 S 0.7 0.5 0:01.27 httpd
1051 root 15 0 12896 1424 956 R 0.7 0.0 0:00.10 top
1221 apache 15 0 180m 9820 3436 S 0.7 0.2 0:00.03 httpd
989 apache 15 0 193m 21m 5332 R 0.3 0.5 0:01.06 httpd
1000 apache 15 0 208m 102m 5424 S 0.3 2.5 0:00.97 httpd
1032 apache 15 0 190m 18m 4748 S 0.3 0.4 0:00.39 httpd
1213 apache 15 0 0 0 0 Z 0.3 0.0 0:00.15 httpd <defunct>
1251 apache 15 0 184m 11m 3700 S 0.3 0.3 0:00.02 httpd
1 root 15 0 10372 792 664 S 0.0 0.0 0:00.20 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.14 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.04 events/0
我也看了磁盘IO,有很多进程,但是加起来IO不多:
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
2804 be/3 root 0.00 B/s 0.00 B/s 0.00 % 1.13 % [ib_cm/1]
32387 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.75 % httpd -k start -DSSL
32344 be/4 apache 0.00 B/s 3.77 K/s 0.00 % 0.75 % httpd -k start -DSSL
32465 be/4 apache 0.00 B/s 0.00 B/s -0.75 % 0.75 % httpd -k start -DSSL
32487 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.75 % httpd -k start -DSSL
32377 be/4 apache 0.00 B/s 3.77 K/s 0.00 % 0.38 % httpd -k start -DSSL
32462 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.38 % httpd -k start -DSSL
32469 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.38 % httpd -k start -DSSL
32445 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.38 % httpd -k start -DSSL
32349 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32436 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % python /usr/bin/iotop
32385 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32382 be/4 apache 0.00 B/s 3.77 K/s 0.38 % 0.00 % httpd -k start -DSSL
32446 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32381 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32375 be/4 apache 0.00 B/s 0.00 B/s 0.75 % 0.00 % httpd -k start -DSSL
32312 be/4 apache 0.00 B/s 3.77 K/s 0.00 % 0.00 % httpd -k start -DSSL
32342 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
1407 be/4 dbus 0.00 B/s 0.00 B/s 0.00 % 0.00 % dbus-daemon --system
32455 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32466 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32470 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32488 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
25045 be/4 dovecot 0.00 B/s 0.00 B/s 0.00 % 0.00 % dovecot/pop3-login
4 rt/3 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
32514 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32581 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32531 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32471 be/4 apache 0.00 B/s 0.00 B/s 0.38 % 0.00 % httpd -k start -DSSL
32546 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32519 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32521 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32315 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32523 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32524 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32335 be/4 apache 0.00 B/s 3.77 K/s 0.00 % 0.00 % httpd -k start -DSSL
32583 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32566 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32526 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32481 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32557 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32529 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32530 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32541 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32507 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32570 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
32504 be/4 apache 0.00 B/s 0.00 B/s 0.00 % 0.00 % httpd -k start -DSSL
我还测试了我的 httpd.conf 的不同设置:
测试 HTTPD.CONF 1:
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 200
MaxClients 200
MaxRequestsPerChild 100
</IfModule>
测试 HTTPD.CONF 2:
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 2
MaxClients 2
MaxRequestsPerChild 1
</IfModule>
以上似乎对性能没有任何影响。
我还检查了是否安装了 mpm 模块(似乎是这样),见下文。但是我真的不明白上述设置如何对我的服务器性能没有任何影响。
-bash-3.2# httpd -M
[Wed Mar 11 18:59:42 2015] [warn] module php5_module is already loaded, skipping
Loaded Modules:
core_module (static)
authn_file_module (static)
authn_default_module (static)
authz_host_module (static)
authz_groupfile_module (static)
authz_user_module (static)
authz_default_module (static)
auth_basic_module (static)
reqtimeout_module (static)
include_module (static)
filter_module (static)
deflate_module (static)
log_config_module (static)
logio_module (static)
env_module (static)
expires_module (static)
headers_module (static)
unique_id_module (static)
setenvif_module (static)
version_module (static)
proxy_module (static)
proxy_connect_module (static)
proxy_ftp_module (static)
proxy_http_module (static)
proxy_scgi_module (static)
proxy_ajp_module (static)
proxy_balancer_module (static)
ssl_module (static)
mpm_prefork_module (static)
http_module (static)
mime_module (static)
dav_module (static)
status_module (static)
autoindex_module (static)
asis_module (static)
suexec_module (static)
cgi_module (static)
dav_fs_module (static)
dav_lock_module (static)
negotiation_module (static)
dir_module (static)
actions_module (static)
userdir_module (static)
alias_module (static)
rewrite_module (static)
so_module (static)
php5_module (shared)
Syntax OK
我真的迷失在寻找可能是这种性能瓶颈的地方。重要的是当我将 exit 放在所有 100 个脚本的顶部时没有时间延迟,但是当脚本执行所有 curl 请求和数据解析时有很大的时间延迟。
非常欢迎所有帮助!
最佳答案
如果每个操作大约有 100 个外部请求,那会使您的脚本变慢。无论您向服务器/脚本引入何种效率级别,这 100 个请求都必须共享网络带宽。此外,网络层面还有更复杂的事情,这使得它比理想的理论值慢。
如果您对同一个 url 有重复请求,您可以根据源中数据的变化率将响应缓存一小段时间。
例如,如果您能够从缓存中获得大约 30-40% 的响应,那么在您为某个操作执行的 100 个请求中,这将大大加快您的脚本速度。
关于linux - 低 CPU、低 RAM、低 IO,但性能很差,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28994318/
我的 Linux Centos Apache 服务器的性能有问题。我有一个程序(用 c 语言编写)可以同时执行许多 http 请求。这个过程本身看起来非常有效,就好像我可以同时向外部服务器发出 500
我想知道如何将并行端口上的数据引脚设置为高电平和低电平。我相信我可以使用 PyParallel 来实现此目的,但我不确定如何设置特定的引脚。 谢谢! 最佳答案 您在这里谈论的是软件-硬件接口(inte
让我有一个像这样的日期时间索引的数据框: date_time open high low close vol 2018-05-13 18:00:00 70.
在 emacs Octave 模式下,当我输入 M-x run-octave 时,命令会卡住,所以我使用 C-g 进行转义。我可以用 C-x b 切换到 *Inferior Octave* 缓冲区,但
我正在 sklearn 中运行 gridsearchCV,尝试使用此代码找到最佳模型参数。 modelDNN= KerasRegressor(build_fn=build_DNN_model, epo
美好的一天。我想知道 android 存储是否低,它会影响应用程序性能吗?因为同一个应用程序在另一台设备上运行速度很快,而同样的应用程序在另一台设备上非常滞后,后者有 12GB 内存中的 2GB 可用
所以我在列卡上有一个带有索引的表 当我运行时 SELECT COUNT(DISTINCT(card)) FROM table 它返回 490 个不同的条目 但是当我运行的时候 SHOW INDEXES
我正在使用手动方法将二进制转换为十进制。此代码在最后一位为高的情况下工作正常,例如:1001。当最后一位为零 [低] 时会出现错误。例如:1010 应该给出 10 但给出 5,因为没有考虑最后一位。有
我一直在努力优化我的站点和数据库,并且我一直在使用 mysqltuner.pl 来帮助解决这个问题。除了表缓存命中率,无论我在 my.cnf 中将它提高多高,我几乎都得到了正确的结果,我仍然命中大约
深入研究 sprite kit (xcode 5)。我正在使用两个示例程序,1. 创建新项目时包含的默认宇宙飞船示例和 2. 我下载的 Adventure Game。 在 iOS 模拟器中运行这些示例
编辑: 感谢大家在这里提供答案,项目已完成。 https://github.com/0xyg3n/ProcessDaemon/ 如果有人想出可能会更好的多线程解决方案,我想。 我是 C# 的新手,我想
我有一个交换 Word 变量的字节(低/高)的过程(它与 System.Swap 函数执行相同的操作)。该过程在编译器优化关闭时有效,但在编译器优化打开时无效。有人可以帮我解决这个问题吗? proce
我以前听说过这些术语描述语言,例如 C 并不是一种低级语言,C++是中级语言,而Python是一种高级语言。我知道它必须与代码的编译方式以及代码的编写方式有关。但是我想知道的是,什么将语言定义为这三类
我有一个关于 NoSQL 类型数据库的问题,特别是 MongoDB,但它通常适用于大多数键值或基于文档的存储。 NoSQL 的一些卖点是速度和可扩展性,但在我看来,与关系数据库相比,开销很大。 你有很
如果没有此代码,fps 为 60-65。但是当我使用这段代码时,fps 下降到 50。 另一个问题是某些设备上的 FPS 太低。然而,游戏非常简单。我对所有形状使用 ShapeRenderer。游戏在
您好,我的名字是 Ryan,我目前正在开发自己的 2D java 游戏。目前游戏世界中有很多物体。游戏重新开始时,世界会加载 100 棵随机放置的树木,这些树木是使用数组列表和树类制作的。我的游戏使用
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我刚刚将我的 Heroku postgres 数据库从 Kappa 计划(800MB RAM,postgres 9.1)升级到 Ronin 计划(1.7GB RAM,postgres 9.2),但性能
现在我正在使用我的 NSDictionary 并运行所有值的循环以找到低值、高值和计算平均值。 由于我是IOS 的新手,所以我想问问是否有更好的方法来做到这一点。有没有? 谢谢。 最佳答案 这个问题的
我目前正在使用 genuino 101 进行一个项目,我需要通过 i2c 读取大量数据,以填充任意大小的缓冲区。从下图中我可以看到读取请求本身只需要大约 3毫秒,写请求大约 200 纳秒。 但是在同一
我是一名优秀的程序员,十分优秀!