序号 | 第一次 | 第二次 | 第三次 | 平均值(tps)
shared_buffers=128MB(默认)| 211 | 194 | 207 | 204
shared_buffers=4GB | 1225 | 1288 | 1321 | 1278
shared_buffers=8GB | 1176 | 1291 | 1144 | 1203
shared_buffers=24GB | 1285 | 1250 | 1309 | 1281
当shared_buffers=4GB时,数据6GB不能完全装下,所以优先预热索引,将索引加载到缓存,然后在加载数据。可以看到最终shared_buffers=4GB的tps和8GB,24GB表现差别不大。
1.本地内存:work_mem,maintenance_work_mem,temp_buffer,进程分配
2.共享内存:shared_buffers,wal buffers,commitLog buffer
本地内存*max_connections+共享内存+服务器使用内存<=总内存
1.大多数情况设置shared_buffers为内存的25%,当然为了最优可以根据命中,以及缓存占比调整。
2.设置shared_buffers为75%和25%相差不大,也和数据量一共只有7G+有关系。但是os系统缓存同样重要,而设置为75%,可能会超过总内存。
3.设置所有的缓存需要注意不要超过总内存大小。
4.在预热数据的过程中可以考虑先做索引的预热,因为要做索引的情况加载索引会比较慢。