日期:2014-05-16 浏览次数:20429 次
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 最后才采用, 先在官网上找)