人有西洋参,我有的黄丸.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人有西洋参,我有的黄丸

人有西洋参,我有地黄丸 小小开发团队不妨知道的技术 扇贝网 2012/08/18 扇贝网简介 英语能力训练平台 跌跌撞撞一年 注册量 ~100 万 每天访问量 ~5 万 平台 Web ,Android ,iOS 假设你们和我们一样 • 技术凑合 • 能出活 • 没有大牛 技术栈 • Nginx • Uwsgi • Django, Python • MySQL, Memcache, Redis, MongoDB • LVM • Ubuntu 成长后开始关心的问题 • 数据安全 • MySQL 备份,复制 • 服务性能 • mysql 查询和调优,uwsgi 配置,cache 和存储 • 开发效率 • Git ,单元测试,virtualenv MySQL -定期备份 • 曾经的做法 拷贝/var/lib/mysql 需要停止mysql 服务,或者锁表,再copy 期间无法提供数据库服务 用mysqldump 恢!复 !太!慢! MySQL -定期备份 现在的做法 1. 用LVM 命令创建分区,mount 在数据库目 录/var/lib/mysql 上 2. 使用mylvmbackup 备份,并且通过rsnap 作为 远程拷贝工具 效果 1 秒内生LVM 快照,2-3 个小时拷贝数据库文 件到远程 始终保持5 个版本的数据库文件 MySQL -定期备份 • mylvmbackup 基本工作原理 • Flush 数据库并锁表 • LVM 快照 (瞬间完成,copy-on-write ) • 保存当前mysql 的配置和参数 (binlog 文件名和pos 偏移量) • 数据库解锁 • 将快照拷贝到另一个文件夹 • 删除LVM 快照 • 将该文件夹通过rsync/rsnap 备份到远程主机上 详见Backup and Recovery, High Performance MySQL 2nd ed MySQL - 主从复制(replication) • 实时主从复制 • 要求 • 基础数据 • binlog 文件名 • 偏移量 pos • 这些mylvmbackup 都贴心的提供了!!! • 详情请见 High Performance MySQL 的Replication 相关章节 MySQL 数据安全 • MySQL 服务器需要有raid 卡, 需要做raid , 确保不出现硬盘损坏之类低级错误 • 有raid 卡,检查raid 卡要有电池,没有电池的 raid 会 带来两个严重的问题 o 万一数据库crash, 可能会挂掉, 恢复不了 o 慢的无法忍受, 写性能极差 我们曾经买了一台Dell 机器用于数据库服务,牛逼(相对)配 置,但是数据库写性能极差,检查半月,发现自带的raid 卡 SAS 6/i 未带电池 MySQL - 其他安全策略 • 其他策略 • 增加只读帐号 • 常用查询脚本化 • 在slave 数据库上进行数据分析 • 仅限内网访问 • 要常常假想数据库坏掉了, 真的会坏 服务性能 - Django Queryset 优化 1. Django 没有魔法, 有些写法很直观, 代价是查询整个表 a. objects.all() b.some_object.related_set() 2. 每一个查询都要理解它背后的sql: a. objects.latest(time), time 有索引吗? b.objects.all().order_by(name)[10000:5] 3. 永远要避免subquery: a. book_ids =

文档评论(0)

woai118doc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档