日期:2014-05-16  浏览次数:20429 次

郑老师讲解 Linux / MongoDB 的性能瓶颈总结

NoSQL

1. 高并发性

radis, tokyo, memorycach

10万/秒

就是数据会全放入内存。

?

2. 海量数据

MongoDB, 先入内存, 后台有线程写硬盘。

分散到几台机器的内存上, 然后以硬盘最大的 IO 去写。

然后读取数据的效率就成了问题。

?

3. 高扩展性:

?cansandra (1万/秒) 不断加机器来解决性能。

?

纸上谈兵、实战。

?

Why Linux?

lots of software.

需要了解现成的功能, 而不需要自己去写。

?

tar 不压缩, 只打包。(就是把文件、目录,变成一个文件)

gzip 才是压缩。

?

egrep 正则过滤

?

ssh username@hostname "command"

?

安装软件前, 看 readme / install 文档。

?

amd64

64位系统最先由 AMD 提出, 后来 intel 也出了 64 位。

但大多数软件只需要指明 64 位就行, 所以后缀了 amd64.

?

Python Web Framework

1. Apache + mod_wsgi

2. Apache/Nginx + FastCGI (powed by flup)

3. tornado, uWSGI, gevent, twisted

?

选择 Simple or high-performance 这是个问题?优先选择简单的 Apache。

?

HTTP server 的优化:

1. know

能承受的同时文件量。

2. Profile

3. 优化

cache

gzip 减少传输时间

keep-alive 最好交由 Nginx 来做, 而不是 Python.

?

rpm 包管理:

yum -i install

-e erase

-update

?

rpm -ql mysql

query list

mysql 包含了那些文件

?

rpm -qf /etc/mysql/conf

指定文件属于哪个软件包

?

自己编译的不能通过 rpm 来查询, 必须记住地址。

?

如何解决问题:

1. log

2. 文档 man command

/usr/share/doc

/usr/share/man

/usr/local/share/man

3. 求助

官网 FAQ/wiki

社区, 邮件列表, 给老外写信

IRC

Google

(通常 google 最后才采用, 先在官网上找)