由于虚拟机配置的限制,在运行nfsteam程序的时候,遭遇到内存和硬盘的空间不足。考虑到实际情况的并发量更加庞大,因此对代码和组织结构进行调优,调优方式在此列出。
1. 扩充硬盘
1.1 增加额外的硬盘并挂载
1 2 3 4 5
| sudo fdisk -l 查看当前硬盘窗台 sudo fdisk /dev/sda2 为新硬盘分区 sudo mkfs -t ext4 /dev/sda2 格式化分区 sudo mount /dev/sda2 /root/data 挂载分区 df -hl 查看信息
|
Ubuntu 挂载新硬盘
1.2 虚拟机设置共享文件夹
1 2
| sudo vmware-config-tools.pl -d 在mnt/hgfs路径下可以看到共享文件夹
|
2. 内存不足问题
2.1 使用redis数据库缓存数据
源码安装
参数调整
1 2 3 4 5 6 7 8 9
| daemonize yes # 生产环境中可设置为yes pidfile /var/run/redis.pid # 当以守护进程方式运行的时候,Redis会把进程ID默认写到 /var/run/redis.pid databases 2 # 逻辑库数量为2 dir /root/data # RDB文件路径重新设置 save "" # 设置RDB文件同步的频率,关闭AOF maxmemory 6GB # 占用内存大小(服务器70%) appendonly no # AOF关闭 stop-writes-on-bgsave-error no maxmemoty-policy allkeys-lru # 对所有key执行LRU算法进行删除
|
一文了解 Redis 内存监控和内存消耗
2.2 python代码缓存池和过期时间
1 2 3 4 5 6 7 8 9 10 11 12 13
| import redis
pool = redis.ConnectionPool( host="localhost", port=6379, db=0, max_connections=8000 )
r = redis.Redis(connection_pool=pool) r.flushdb()
r.expire(str(flow._C)[-9,-1], 1200)
|
2.3 设置内存交换区
添加SWAP 交换分区
3.网络问题
1 2 3 4 5 6
| sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start
sudo vim /etc/NetworkManager/NetworkManager.conf // 将文件里面唯一的false改成true sudo service network-manager restart
|
感谢观看,如有不足或错误,恳请大佬指正 (^_^)#