数据库的随机查询SQL1 Oracle,随机查询20条select * from(select* from 表名order by dbms_random value)where rownum <= 20;2

数据库的随机查询SQL

1. Oracle,随机查询20条

select * from

(
select  *  from 表名
order by dbms_random.value

)
where rownum <= 20;

2.MS SQL Server,随机查询20条

select top 20  * from  表名order by newid()

3.My SQL:,随机查询20条

select  *  from  表名 order by rand() limit 20

 

随机查询指定人员的一条未读消息

帮助消息表 S_MSG_HINT
帮助消息ID SMH_ID NUMBER(20) PK
帮助消息内容 SMH_TEXT VARCHAR2(200)

人员帮助消息表 S_HINTPEOPLE
人员ID SHP_UID VARCHAR2(20) PK
当前帮助消息ID SMH_ID NUMBER(20)  PK FK

如果为已读消息会在 人员帮助消息表里面生成记录

select
   *
from
   (select
       smh.*,
       nvl2( shp.smh_id,1,0) as status –0:未读 1:已读
   from
       s_msg_hint smh
               left join s_hintpeople shp 
                   on smh.smh_id = shp.smh_id 
                   and shp.shp_uid = ‘p_chencc’
   order by
       dbms_random.value  –随机数值排序
   )
where
   status = 0 and –未读消息
   rownum <= 1  –取一条

linux 测试网速的相关工具2012-04-18 9:211 iptraf -g 这个最直观2 iperf  Iperf 是一个网络性能测试工具。Iperf可以测试

linux 测试网速的相关工具
2012-04-18 9:21
1. #  iptraf -g   //这个最直观

2. iperf  Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能。Iperf具有多种参数和UDP特性,可以根据需要调整。Iperf可以报告带宽,延迟抖动和数据包丢失

TCP:
server(pc):  iperf -s -i 1
client(ls1b):  iperf -t 20 -i 1 -c 192.168.1.167 (pc-ip)

UDP:
server(pc): iperf  -u -s -i 1
client(ls1b): iperf -t 10 -i 1 -u -b 1000M  -c 192.168.1.90

3. #  ifconfig -a
eth0:Link encap:Ethernet  HWaddr 00:1e:64:63:ab:fe
inet addr:192.168.3.103  Bcast:192.168.3.255  Mask:255.255.255.0
inet6 addr: fe80::21e:64ff:fe63:abfe/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:70283 errors:0 dropped:0 overruns:0 frame:0
TX packets:46701 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:73276012 (73.2 MB)  TX bytes:6267375 (6.2 MB)

4. #  mii-tool -w -v  //更详细的用法 man mii-tool

5. ethtool是用来显示和更改网卡设置的工具 更详细的用法 man ethtool
# ethtool eth0   //显示网络端口设置功能
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Link partner advertised link modes:  Not reported
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: No
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
Link detected: no

# ethtool -i eth0  //显示跟硬件相关的信息
driver: r8169
version: 2.3LK-NAPI
firmware-version:
bus-info: 0000:05:00.0

6. # watch -n 1 “/sbin/ifconfig eth0 | grep bytes”

jQuery对象转成DOM对象: 
两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); 
(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 
如:var $v =$(“#v”) ; //jQuery对象 
var v=$v[0]; //DOM对象 
alert(v.checked) //检测这个checkbox是否被选中 
(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象 
如:var $v=$(“#v”); //jQuery对象 
var v=$v.get(0); //DOM对象 
alert(v.checked) //检测这个checkbox是否被选中
DOM对象转成jQuery对象: 
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) 
如:var v=document.getElementById(“v”); //DOM对象 
var $v=$(v); //jQuery对象 
转换后,就可以任意使用jQuery的方法了。

数据库

1.工作中数据大小超过可用内存 RAM
2.长短查询混合
3.写-写 冲突
4.大的联合查询占光内存

虚拟化

1.共享 HDD 存储,磁盘寻道挂起
2.云平台中的网络 I/O 波动

编程

1.线程:死锁、相对于事件驱动来说过于重量级、调试、线程数与性能比非线性
2.事件驱动编程:回调的复杂性、函数调用中如何保存状态(how-to-store-state-in-function-calls)
3.缺少profile工具、缺少trace工具、缺少日志工具
4.单点故障、横向不可扩展
5.有状态的应用
6.搓设计:一台机器上能跑,几个用户也能跑,几个月后,几年后,尼玛,发现扛不住了,整个架构需要重写。
7.算法复杂度
8.依赖于诸如DNS查找等比较搞人的外部组件
9.栈空间

磁盘

1.本地磁盘存取
2.随机磁盘读写 -> 磁盘寻道
3.磁盘碎片化
4.写入超过SSD容量的数据导致SSD硬盘性能降低
5.操作系统
6.内核缓冲刷入磁盘,填充linux缓冲区缓存
7.TCP缓冲区过小
8.文件描述符限制
9.功率分配

缓存

1.不使用memcached
2.HTTP中,header,etags,不压缩(headers, etags, not gzipping)
3.没有充分使用浏览器缓存功能
4.字节码缓存(如PHP)
5.L1/L2缓存,这是个很大的瓶颈。把频繁使用的数据保持在L1/L2中。设计到的方面很多:网络数据压缩后再发送,6.基于列压缩的DB中不解压直接计算等等。有TLB友好的算法。最重要的是牢固掌握以下基础知识:多核CPU、L1/L2,共享L3,NUMA内存,CPU、内存之间的数据传输带宽延迟,磁盘页缓存,脏页,TCP从CPU到DRAM到网卡的流程。

CPU

CPU 过载
1.上下文切换 -> 一个内核上跑了太多的线程,linux调度对于应用来说很不友好, 太多的系统调用, 等等…
2.IO 等待 -> 所有的CPU都挂起等待比较慢的IO
3.CPU 缓存: 缓存数据是一个为了平衡不同实例有不同的值和繁重的同步缓存数据保持一致,而精心设计的一个进程。
4.背板吞吐量

网络

1.网卡的最大输出带宽,IRQ达到饱和状态,软件中断占用了100%的CPU
2.DNS查找
3.丢包
4.网络路由瞎指挥
5.网络磁盘访问
6.共享SAN(Storage Area Network)
7.服务器失败 -> 服务器无响应

过程

1.测试时间 Testing time
2.开发时间 Development time
3.团队人数 Team size
4.预算 Budget
5.代码缺陷 Code debt

内存

1.内存溢出 -> 杀进程,进入 swap ,越来越慢
2.内存溢出导致磁盘频繁读写(swap相关)
3.内存库开销
4.内存碎片
5.Java 需要垃圾收集导致程序暂停
6.C 语言的 malloc 无法分配