1. sysstat service

1.1. /etc/cron.d/sysstat

Linux 下的性能分析,少不了要使用 sysstat 工具包中的命令。同时 sysstat 服务会自动每个10分钟收集一次系统状态信息,并将它们存储到 /var/log/sa目录下。每天一个文件,文件名分别是sa01, sa02,... sa30..

[root@localhost sa]# pwd
/var/log/sa
[root@localhost sa]# ls
sa01 sa03 sa05 sa06 sa07 sa08 sa09 sa10 sa11 sa12 sa13 sa14 sa15 sa25 sa26 sa27 sa28 sa29 sa30 sar25

自动收集系统信息,是通过 /etc/cron.d/sysstat 来实现的:

[root@localhost sa]# cat /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/ * * * * root /usr/lib/sa/sa1
# 0 * * * * root /usr/lib/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
* * * root /usr/lib/sa/sa2 -A

上面标示每个10分钟,运行一次 /usr/lib/sa/sa1 1 1, 该命令 man sa1:

sa1 - Collect and store binary data in the system activity daily data file.

SYNOPSIS:/usr/lib/sa/sa1 [ --boot | interval count ]

sa1 收集到的是 binary data. 所以 sa2 -A 负责将当天的二进制文件转换成文本文件。

sa2 - Write a daily report in the /var/log/sa directory

其中的收集信息的频率(10分钟一次)我们可以根据需要进行修改。

1.2. /etc/sysconfig/sysstat

/var/log/sa/目录下的文件保存时间等相关配置存在于文件 /etc/sysconfig/sysstat中:

[root@localhost ~]# cat /etc/sysconfig/sysstat
# sysstat-9.0.4 configuration file. # How long to keep log files (in days).
# If value is greater than 28, then log files are kept in
# multiple directories, one for each month.
HISTORY= # Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER= # Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK" # Compression program to use.
ZIP="bzip2"

其中的 HISTORY=28 表示最多保存28天的数据。保存时间,我们可以根据需要进行修改。

1.3. 确保 sysstat 服务启动:

[root@localhost ~]# chkconfig --level 35 sysstat on
[root@localhost ~]# chkconfig |grep sysstat
sysstat :off :on :on :on :on :on :off

上面是 sysstat 服务运行的知识。下面是 sysstat 工具包中的命令行如何使用收集到的信息,来了解系统的运行情况。

2. sysstat 工具包中的命令

sysstat工具包中有很多的分析命令,常用的有:sar, iostat, mpstat(multi processor stat), pidstat, vmstat等等。

其中的sar命令尤其强大,它一个命令就能够收集系统CPU, 内存,磁盘,网络,进程切换,swap, 甚至文件inode,等个方面的信息。sar 的应用比较多,而且也比较复杂,数据更为精确。

2.1 sar 命令

1)sar -u 查看CPU信息:

sar -u, sar -u ALL, sar -u 1 5, sar -u ALL 1 5

[root@localhost ~]# sar -u 1 2
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM CPU %user %nice %system %iowait %steal %idle
:: AM all 0.99 0.00 2.97 0.00 0.00 96.04
:: AM all 0.00 0.00 3.03 0.00 0.00 96.97
Average: all 0.50 0.00 3.00 0.00 0.00 96.50

2)sar -r, sar -R 查看内存信息:

sar -r, sar -R, sar -r 1 5, sar -R 1 5

[root@localhost ~]# sar -r  1 2
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
:: AM 20.00 3.96
:: AM 20.00 3.96
Average: 20.00 3.96
[root@localhost ~]# sar -R 1 2
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM frmpg/s bufpg/s campg/s
:: AM -11.11 0.00 0.00
:: AM 0.00 0.00 0.00
Average: -5.56 0.00 0.00

3)sar -S, sar -W 查看 swap:

sar -S, sar -S 1 5, sar -W, sar -W 1 5. sar -S 查看的是swap空间的使用情况,sar -W 是每秒发生的swap/page情况

[root@localhost ~]# sar -S
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM kbswpfree kbswpused %swpused kbswpcad %swpcad
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
Average: 0.00 0.00
[root@localhost ~]# sar -S 1 5
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM kbswpfree kbswpused %swpused kbswpcad %swpcad
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
Average: 0.00 0.00
[root@localhost ~]# sar -W
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM pswpin/s pswpout/s
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
Average: 0.00 0.00
[root@localhost ~]# sar -W 1 5
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM pswpin/s pswpout/s
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
Average: 0.00 0.00

4)sar -b, sar -B 查看磁盘IO:

sar -b, sar -b 1 5, sar -B, sar -B 1 5. sar -b 查看磁盘tps(iops);sar -B 主要查看每秒磁盘 page/ fault

[root@localhost ~]# sar -b
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM tps rtps wtps bread/s bwrtn/s
:: AM 0.01 0.00 0.01 0.00 0.11
:: AM 0.06 0.03 0.03 1.41 0.43
:: AM 0.01 0.00 0.01 0.00 0.11
:: AM 0.01 0.00 0.01 0.00 0.17
:: AM 0.16 0.10 0.06 4.84 0.89
:: AM 18.11 17.81 0.31 334.52 26.32
:: AM 0.11 0.09 0.02 5.12 0.34
:: AM 0.02 0.00 0.02 0.00 0.17
Average: 2.31 2.25 0.06 43.13 3.56
[root@localhost ~]# sar -b 1 5
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM tps rtps wtps bread/s bwrtn/s
:: AM 0.00 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 0.00 0.00 0.00
Average: 0.00 0.00 0.00 0.00 0.00
[root@localhost ~]# sar -B
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
:: AM 0.00 0.05 3.29 0.00 0.86 0.00 0.00 0.00 0.00
:: AM 0.71 0.22 12.02 0.00 3.16 0.00 0.00 0.00 0.00
:: AM 0.00 0.05 3.43 0.00 0.85 0.00 0.00 0.00 0.00
:: AM 0.00 0.09 3.28 0.00 0.83 0.00 0.00 0.00 0.00
:: AM 2.42 0.44 59.48 0.02 14.86 0.00 0.00 0.00 0.00
:: AM 167.26 13.16 1580.24 0.09 336.45 0.00 0.00 0.00 0.00
:: AM 2.56 0.17 15.00 0.02 3.95 0.00 0.00 0.00 0.00
:: AM 0.00 0.09 25.18 0.00 9.43 0.00 0.00 0.00 0.00
Average: 21.57 1.78 212.26 0.02 46.20 0.00 0.00 0.00 0.00
[root@localhost ~]# sar -B 1 5
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
:: AM 0.00 0.00 45.45 0.00 59.60 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 38.38 0.00 59.60 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 30.30 0.00 59.60 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 30.30 0.00 59.60 0.00 0.00 0.00 0.00
:: AM 0.00 0.00 30.00 0.00 59.00 0.00 0.00 0.00 0.00
Average: 0.00 0.00 34.88 0.00 59.48 0.00 0.00 0.00 0.00

5)sar -d 查看磁盘IO活动:

[root@localhost ~]# sar -d
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.01 0.00 0.11 12.80 0.00 2.00 1.60 0.00
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.06 1.41 0.43 29.62 0.00 5.86 5.30 0.03
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.01 0.00 0.11 12.80 0.00 2.80 2.60 0.00
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.01 0.00 0.17 14.86 0.00 3.29 2.14 0.00
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.16 4.84 0.89 35.13 0.00 7.26 6.59 0.11
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 18.11 334.52 26.32 19.92 0.05 3.15 2.98 5.40
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.11 5.12 0.34 50.62 0.00 20.66 13.55 0.15
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.02 0.00 0.17 11.56 0.00 1.67 1.56 0.00
Average: dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev8- 2.31 43.13 3.56 20.25 0.01 3.29 3.08 0.71
[root@localhost ~]# sar -d 1 3
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 :: AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 :: AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
:: AM dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev11- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

6)sar -n { keyword [,...] | ALL } 查看网络:

Possible keywords are DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP,  ETCP,  UDP,  SOCK6,  IP6,  EIP6, ICMP6, EICMP6 and UDP6.

你想查看网络哪个方面的信息,就将 keyword 换成上面的那个选项。

sar -n DEV 查看网络设备上的数据包收发情况,sar -n EDEV 查看网络设备上发生的数据包收发错误的情况,sar -n DEV 1 5, sar -n EDEV 1 5.

[root@localhost ~]# sar -n DEV 1 2
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
:: AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 :: AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
:: AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM eth0 2.02 3.03 0.12 0.70 0.00 0.00 0.00
:: AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 1.01 1.52 0.06 0.35 0.00 0.00 0.00
Average: eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
[root@localhost ~]# sar -n EDEV 1 2
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
:: AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 :: AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
:: AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

sar -n TCP, sar -n TCP 1 5 查看TCP;sar -n ETCP 查看tcp错误; sar -n SOCK, sar -n SOCK 1 5 查看socket;

7)sar -q 查看系统load负载:

[root@localhost ~]# sar -q
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM runq-sz plist-sz ldavg- ldavg- ldavg-
:: AM 0.00 0.02 0.09
:: AM 0.00 0.00 0.03
:: AM 0.00 0.00 0.00
:: AM 0.00 0.00 0.00
:: AM 0.00 0.00 0.00
:: AM 0.00 0.16 0.14
:: AM 0.00 0.02 0.06
:: AM 0.00 0.00 0.00
:: AM 0.00 0.00 0.00
Average: 0.00 0.02 0.04
[root@localhost ~]# sar -q 1 3
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM runq-sz plist-sz ldavg- ldavg- ldavg-
:: AM 0.00 0.00 0.00
:: AM 0.00 0.00 0.00
:: AM 0.00 0.00 0.00
Average: 0.00 0.00 0.00

runq-sz 表示在CPU上排队等待执行的任务;plist-sz系统所有任务。

8)sar -w 每秒进程创建 和 进程切换:

[root@localhost ~]# sar -w
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM proc/s cswch/s
:: AM 0.01 25.14
:: AM 0.04 25.58
:: AM 0.01 25.01
:: AM 0.01 25.40
:: AM 0.19 27.64
:: AM 4.02 120.10
:: AM 0.04 41.77
:: AM 0.09 38.55
:: AM 0.23 50.63
Average: 0.51 42.18
[root@localhost ~]# sar -w 1 4
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM proc/s cswch/s
:: AM 0.00 80.39
:: AM 0.00 90.82
:: AM 0.00 45.45
:: AM 0.00 60.00
Average: 0.00 69.17

9)sar -W 每秒swap/page:

[root@localhost ~]# sar -W
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM pswpin/s pswpout/s
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
Average: 0.00 0.00
[root@localhost ~]# sar -W 1 4
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM pswpin/s pswpout/s
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
:: AM 0.00 0.00
Average: 0.00 0.00

10)sar -v 查看文件inode使用,缓存情况:

[root@localhost ~]# sar -v
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM LINUX RESTART :: AM dentunusd file-nr inode-nr pty-nr
:: AM
:: AM
:: AM
:: AM
:: AM
:: AM
:: AM
:: AM
:: AM
Average:
[root@localhost ~]# sar -v 1 3
Linux 2.6.-.el6.i686 (localhost.localdomain) // _i686_ ( CPU) :: AM dentunusd file-nr inode-nr pty-nr
:: AM
:: AM
:: AM
Average:

2.2 iostat 命令

注意查看IO和CPU负载情况

参见:http://www.cnblogs.com/digdeep/p/4863502.html 和 man 手册

2.3 mpstat 命令

注意查看多核CPU情况

参见:http://www.cnblogs.com/digdeep/p/4847484.html 和 man 手册

2.4 pidstat命令

注意查看进程情况

参见:http://www.cnblogs.com/digdeep/p/4847484.html 和 man 手册

Linux 性能优化工具包 sysstat 以及 sysstat 服务的更多相关文章

  1. Linux性能优化-平均负载

    Linux性能优化-平均负载 目录 Linux性能优化-平均负载 平均负载的含义 平均负载为多少时合理 平均负载与 CPU 使用率 平均负载案例分析 场景一:CPU 密集型进程 场景二:I/O 密集型 ...

  2. Linux 性能优化之 IO 子系统 系列 图

    http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统 ...

  3. 如何学习Linux性能优化?

    如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...

  4. Linux 性能优化解析

    前情概述 进程调度 老板 cpu 任劳任怨的打工仔 线程 工作在做什么 可运行队列 拥有的工作清单 上下文切换 和老板沟通以便得到老板的想法并及时调整自己的工作 中断 部分工作做完以后还需要及时向老板 ...

  5. 深挖计算机基础:Linux性能优化学习笔记

    参考极客时间专栏<Linux性能优化实战>学习笔记 一.CPU性能:13讲 Linux性能优化实战学习笔记:第二讲 Linux性能优化实战学习笔记:第三讲 Linux性能优化实战学习笔记: ...

  6. Linux 性能优化排查工具

    下图1为 Linux 性能优化排查工具的总结 图1 诊断 CPU 工具 查看 CPU 核数 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU ...

  7. Linux性能优化从入门到实战:01 Linux性能优化学习路线

      我通过阅读各种相关书籍,从操作系统原理.到 Linux内核,再到硬件驱动程序等等.   把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序.库函数.系统调用.再到内核和硬件等不同的层级贯 ...

  8. 《Linux 性能优化实战—倪朋飞 》学习笔记 CPU 篇

    平均负载 指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,即平均活跃进程数 可运行状态:正在使用CPU或者正在等待CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态 (Run ...

  9. linux性能优化cpu-02平均负载

    每次我们系统变慢时,我们通常做的第一件事就是top命令或者uptime命令,看一下系统的负载情况,比如下面: 我在命令行中输入uptime 22:15:51    表示当前系统时间 up 13 min ...

随机推荐

  1. Redis数据库安装简介

    方法一:Redis手动cmd启动服务 端客户端的方法-------Redis 服务端测试使用1. 下载Redis(https://github.com/mythz/redis-windows)2. 解 ...

  2. 容器--EnumMap

    一.概述 EnumMap是一类特殊的Map, 其特殊之处在于KEY需要是枚举类型,由于枚举类型的特点是值的个数是固定的,所以,对于EnumMap来说,其所能存储的个数也就是固定的了.这种类型的Map相 ...

  3. Verilog学习笔记简单功能实现(八)...............异步FIFO

    基本原理:       1.读写指针的工作原理 写指针:总是指向下一个将要被写入的单元,复位时,指向第1个单元(编号为0). 读指针:总是指向当前要被读出的数据,复位时,指向第1个单元(编号为0). ...

  4. rabbitmq qos prefetch count的设置与作用

    因为原来使用了MQ作为rpc机制,随着客户交易量越来越大,很多服务器推送行情的压力很大,最近打算重写为批量模式,又重新看了下qos和prefetch设置的作用以确定优化的具体细节. 消费者在开启ack ...

  5. 【转】推荐介绍几款小巧的Web Server程序

    原博地址:http://blog.csdn.net/heiyeshuwu/article/details/1753900 偶然看到几个小巧有趣的Web Server程序,觉得有必要拿来分享一下,让大家 ...

  6. LBS数据分析:使用地图展示统计数据——麻点图与麻数图

    作为一个LBS的APP,都获得了用户经纬度,也都使用了友盟统计.google ana等等统计分析系统,不过没有地图展示功能,不能进行直观的展示. 友盟统计.google ana等系统是总体数据统计,无 ...

  7. Draggabilly – 轻松实现拖放功能(Drag & Drop)

    Draggabilly 是一个很小的 JavaScript 库,专注于拖放功能.只需要简单的设置参数就可以在你的网站用添加拖放功能.兼容 IE8+ 浏览器,支持多点触摸.可以灵活绑定事件,支持 Req ...

  8. 带给您灵感的25个最新鲜的 HTML5 网站

    感谢 HTML5 带来的惊人的先进特性,在未来几年,HTML5 将会继续发挥巨大的推动作用,不仅是在 Web 应用中,网页设计领域也会有新的变革.今天,我们在这里集合了能够带给您灵感的25个最新鲜的 ...

  9. [实现]Javascript代码的另一种压缩与加密方法——代码图片转换

    代码=图片 图片=代码 JS代码对于喜欢F12的同志来说,连个遮羞布都没有... 虽然把代码变成图片也仅仅只是增加一层纱布而已...但这方法还是挺好玩的,而且代码也被压缩了一点. 第一次看到[图片=代 ...

  10. atitit.身份认证解决方案attilax总结

    atitit.身份认证解决方案attilax总结 1.1. 身份认证1 1.2.  basic认证1 1.2.1. 编程实现basic客户端2 1.3. digest认证机制3 1.4. SSL认证3 ...