<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I second this.<div><br></div><div>We have millions of objects on several accounts. Eg. one account has about 7 million images. These are split into containers according to their filename:</div><div><br></div><div>/images_000/something.jpg</div><div>...</div><div>/images_fff/something_else.jpg</div><div><br></div><div>Also, I recommend looking at tuning the configs.  Some examples:</div><div><br></div><div><br></div><div>object-server.conf:</div><div><br></div><div><div>[object-replicator]</div><div>concurrency = 4</div><div>run_pause = 60</div></div><div><br></div><div><div>[object-updater]</div><div>concurrency = 4</div></div><div><br></div><div><div>[object-auditor]</div><div>files_per_second = 5</div><div>bytes_per_second = 2500000</div><div>concurrency = 25</div></div><div><br></div><div><br></div><div>container-server.conf:</div><div><br></div><div><div>[container-replicator]</div><div>concurrency = 8</div><div>run_pause = 60</div></div><div><br></div><div><div>[container-updater]</div><div>concurrency = 4</div></div><div><br></div><div><div>[container-sync]</div><div>interval = 300</div><div>container_time = 60</div></div><div><br></div><div><br></div><div>account-server.conf:</div><div><br></div><div><div>[account-replicator]</div><div>concurrency = 4</div><div>run_pause = 45</div></div><div><br></div><div><div>[account-reaper]</div><div>concurrency = 25</div></div><div><br></div><div><br></div><div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Mvh / Best regards</div><div>Morten Møller Riis</div><div>Gigahost ApS</div><div><a href="mailto:mmr@gigahost.dk">mmr@gigahost.dk</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On Aug 6, 2013, at 12:15 AM, John Dickinson <<a href="mailto:me@not.mn">me@not.mn</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">There are a few things you can look at.<br><br>First, the slowdowns you are seeing may be because of the increased numbers of files on disk. This causes the background processes to do more work, which can cause some issues for the server processes.<br><br>Second (and perhaps more likely), how is your data arranged? Are you putting every object into the same container? Swift is optimized for access across the entire namespace, so spreading your data across many containers can help improve write performance. Since you are running with account and proxy servers on the same spinning media as the object servers, as you get your cluster more full, write performance will degrade significantly with many objects in a single container. With your setup, you should probably have a max of about a million objects in a single container. If you separate your account and container servers to use SSDs (and perhaps separate machines), you could do 100x this number effectively. Note that this issue doesn't affect read performance. Object eead performance should stay high no matter the cardinality of objects in a single container.<br><br><br>--John<br><br><br><br>On Aug 5, 2013, at 4:09 AM, Jonathan Lu <<a href="mailto:jojokururu@gmail.com">jojokururu@gmail.com</a>> wrote:<br><br><blockquote type="cite">Hi,<br>    I suffer the same issue that our swift system gets slower and slower. I tried almost all the guide in the document but it does little help.<br><br>    Maybe swift is not suitable to the circumstance of putting and getting many little files. Maybe is it more suitable to the large object such as the image of OS? I am not quite sure.<br><br>Best Regards<br>Jonathan Lu<br><br>On 2013/8/5 18:35, Hua ZZ Zhang wrote:<br><blockquote type="cite">Here's the deployment guide which can give you options for tuning container replicator and auditor, such as concurrency.<br><a href="http://docs.openstack.org/developer/swift/deployment_guide.html">http://docs.openstack.org/developer/swift/deployment_guide.html</a> <br>hope this can help you.<br><br>Best Regards, <br><br><br>Edward Zhang(张华)<br>Advisory Software Engineer<br>Software Standards & Open Source Software<br>Emerging Technology Institute(ETI)<br>IBM China Software Development Lab<br>e-mail: <a href="mailto:zhuadl@cn.ibm.com">zhuadl@cn.ibm.com</a><br><Mail Attachment.gif><br><Mail Attachment.gif><br><Mail Attachment.gif><br><br><Mail Attachment.gif><br><Mail Attachment.gif>Klaus Schürmann ---08/05/2013 06:13:43 PM---Klaus Schürmann <<a href="mailto:klaus.schuermann@mediabeam.com">klaus.schuermann@mediabeam.com</a>><br><br>Klaus Schürmann <<a href="mailto:klaus.schuermann@mediabeam.com">klaus.schuermann@mediabeam.com</a>> <br>08/05/2013 06:14 PM<br><br><Mail Attachment.gif><br>To<br><Mail Attachment.gif><br>Hua ZZ Zhang/China/IBM@IBMCN,<br><Mail Attachment.gif><br>cc<br><Mail Attachment.gif><br>"<a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a>" <<a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a>><br><Mail Attachment.gif><br>Subject<br><Mail Attachment.gif><br>AW: [Openstack] [SWIFT] PUTs and GETs getting slower<br><Mail Attachment.gif><span class="Apple-tab-span" style="white-space:pre">    </span><Mail Attachment.gif><br>Here is my container-server.conf:<br><br>[DEFAULT]<br>log_name = container-server<br>log_facility = LOG_LOCAL6<br>log_level = INFO<br>log_address = /dev/log<br>bind_ip = 10.12.1.1<br>workers = 8<br>log_statsd_host = 10.11.2.1<br>log_statsd_port = 8125<br>log_statsd_default_sample_rate = 0.25<br>log_statsd_metric_prefix = Storage01<br><br>[pipeline:main]<br>pipeline = recon container-server<br><br>[filter:recon]<br>use = egg:swift#recon<br>recon_cache_path = /var/cache/swift<br><br>[app:container-server]<br>use = egg:swift#container<br><br>[container-replicator]<br>concurrency = 2<br><br>[container-updater]<br>concurrency = 1<br><br>[container-auditor]<br><br>[container-sync]<br><br><br>--------<br>For the second question, Swift doesn't use  updatedb.mlocate in my mind. it should be safe to disable it.<br>Based on the TOP output, it seems that the CPU workload of container replicator and auditor are too high.<br>Perhaps you need to tune the config file to decrease their workload. paste your config file of<br>container servers.<br><br>Best Regards, <br>Edward Zhang(张华)<br>Advisory Software Engineer<br>Software Standards & Open Source Software<br>Emerging Technology Institute(ETI)<br>IBM China Software Development Lab<br>e-mail: <a href="mailto:zhuadl@cn.ibm.com">zhuadl@cn.ibm.com</a><br><Mail Attachment.gif><br><Mail Attachment.gif><br><Mail Attachment.gif><br><Mail Attachment.gif><span class="Apple-tab-span" style="white-space:pre">        </span><Mail Attachment.gif><br><Mail Attachment.gif>Klaus Schürmann ---08/05/2013 05:43:08 PM---Klaus Schürmann <<a href="mailto:klaus.schuermann@mediabeam.com">klaus.schuermann@mediabeam.com</a>><br>Klaus Schürmann <<a href="mailto:klaus.schuermann@mediabeam.com">klaus.schuermann@mediabeam.com</a>>  <br>08/05/2013 05:26 PM<br><br><Mail Attachment.gif>                         <br>To<br><Mail Attachment.gif><br>"<a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a>" <<a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a>>,<br><Mail Attachment.gif>                         <br>cc<br><Mail Attachment.gif><br><Mail Attachment.gif>                         <br>Subject<br><Mail Attachment.gif><br>[Openstack] [SWIFT] PUTs and GETs getting slower<br><br><br><Mail Attachment.gif><span class="Apple-tab-span" style="white-space:pre">    </span><Mail Attachment.gif><br>Hi,<br><br>my Swift cluster is working for three weeks now as a mail storage and the performance is getting slower and slower.<br><br>This is my hardware configuration:<br><br>- 1 hardware-loadbalancer<br>- 2 proxy-server DELL R420 16 GB RAM 2 Quadcore CPU<br>- 5 proxy-server DELL R720xd 16 GB RAM 2 Quadcore CPU with 3x 2TB HDD SATA 6GB/s<br><br>The cluster contains:<br><br>279.000 containers<br>8.170.000 objects = 984 GByte<br><br>I have about 3.000.000 GETs per day and 1.500.000 PUTs.<br><br>The load is raising up to 12 now:<br><br>top - 11:06:39 up 114 days, 23:10,  1 user,  load average: 10.88, 11.26, 11.22<br>Tasks: 175 total,   3 running, 172 sleeping,   0 stopped,   0 zombie<br>%Cpu(s): 15.6 us,  9.8 sy,  0.0 ni, 69.3 id,  4.5 wa,  0.0 hi,  0.8 si,  0.0 st<br>KiB Mem:  16386408 total, 14829360 used,  1557048 free,    30796 buffers<br>KiB Swap: 17575932 total,   132604 used, 17443328 free,  5572360 cached<br><br>PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND<br>25880 swift     20   0 81400  15m 3352 D  34.5  0.1   2838:36 /usr/bin/python /usr/bin/swift-container-replicator /etc/swift/container-server.conf<br>24282 swift     20   0 81084  14m 3244 S  19.2  0.1   3835:23 /usr/bin/python /usr/bin/swift-container-auditor /etc/swift/container-server.conf<br>29816 swift     20   0 1523m  27m 2032 D   9.6  0.2   1132:58 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>29812 swift     20   0 1523m  27m 2032 R   7.0  0.2   1169:50 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>29815 swift     20   0 1523m  27m 2032 D   6.6  0.2   1132:45 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>29809 swift     20   0 1523m  26m 2032 D   5.6  0.2   1163:53 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>30684 swift     20   0 84496  16m 2468 D   5.6  0.1   1959:57 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>13853 snmp      20   0 51844 3356 1800 S   5.3  0.0  32:14.90 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid<br>29810 swift     20   0 1523m  27m 2032 D   5.3  0.2   1132:09 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>29813 swift     20   0 1525m  27m 2032 D   5.3  0.2   1177:23 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>29811 swift     20   0 1524m  28m 2032 D   5.0  0.2   1169:37 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>30677 swift     20   0 84932  17m 2468 D   5.0  0.1   1992:49 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>29814 swift     20   0 1524m  27m 2032 D   4.6  0.2   1181:11 /usr/bin/python /usr/bin/swift-object-server /etc/swift/object-server.conf<br>30681 swift     20   0 84980  17m 2468 S   4.3  0.1   1999:12 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>30678 swift     20   0 84684  17m 2468 D   4.0  0.1   1973:14 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>30682 swift     20   0 84224  16m 2468 S   4.0  0.1   1960:55 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>30685 swift     20   0 84356  16m 2468 D   3.6  0.1   1979:40 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>7086 root      20   0     0    0    0 S   3.3  0.0   0:00.78 [kworker/6:1]<br>30683 swift     20   0 84160  16m 2468 S   3.3  0.1   1981:38 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>30679 swift     20   0 83852  16m 2468 S   3.0  0.1   1965:53 /usr/bin/python /usr/bin/swift-container-server /etc/swift/container-server.conf<br>5935 root      20   0     0    0    0 S   2.7  0.0   0:16.38 [kworker/2:1]<br>6832 root      20   0     0    0    0 S   2.7  0.0   0:02.78 [kworker/4:0]<br>7153 swift     20   0 80300 9.8m 2040 D   2.7  0.1   0:00.08 /usr/bin/python /usr/bin/swift-container-updater /etc/swift/container-server.conf<br>1840 root      20   0     0    0    0 S   2.3  0.0   0:59.87 [kworker/0:1]<br>9630 swift     20   0 75796 6272 1708 D   2.0  0.0   1889:16 /usr/bin/python /usr/bin/swift-object-auditor /etc/swift/object-server.conf<br>9656 swift     20   0 87424  17m 2304 S   2.0  0.1 748:29.97 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br>9659 swift     20   0 86908  17m 2304 S   2.0  0.1 803:09.64 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br>9653 swift     20   0 85816  16m 2304 S   1.7  0.1 723:34.42 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br>9654 swift     20   0 87500  17m 2304 R   1.7  0.1 769:23.97 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br>9655 swift     20   0 85956  16m 2408 S   1.7  0.1 783:28.18 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br>9658 swift     20   0 87808  18m 2304 S   1.7  0.1 767:31.82 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br>32616 root      20   0     0    0    0 S   1.7  0.0   0:18.13 [kworker/3:0]<br>1826 syslog    20   0  243m 5124  856 S   1.3  0.0 329:10.12 rsyslogd -c5<br>6944 root      20   0     0    0    0 S   1.3  0.0   0:01.08 [kworker/7:2]<br>9652 swift     20   0 86896  17m 2412 S   1.3  0.1 663:32.21 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br>9657 swift     20   0 86016  16m 2408 S   1.3  0.1 706:22.08 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf<br> 51 root      20   0     0    0    0 S   1.0  0.0 134:26.37 [kswapd0]<br>4548 root      20   0     0    0    0 S   1.0  0.0   0:11.69 [kworker/1:2]<br>5362 root      20   0     0    0    0 S   1.0  0.0   0:10.95 [kworker/5:3]<br>  3 root      20   0     0    0    0 S   0.7  0.0 604:49.60 [ksoftirqd/0]<br> 52 root      20   0     0    0    0 S   0.7  0.0  68:32.58 [kswapd1]<br>7412 swift     20   0 80300 9704 2780 S   0.7  0.1 566:00.53 /usr/bin/python /usr/bin/swift-container-updater /etc/swift/container-server.conf<br>9580 swift     20   0 75632 7140 2728 D   0.7  0.0   2218:06 /usr/bin/python /usr/bin/swift-object-auditor /etc/swift/object-server.conf<br>22178 root      20   0  7404  992  700 D   0.7  0.0  20:28.93 /usr/bin/updatedb.mlocate<br><br>Is this a memory problem or a harddisk problem?<br><br>And second question: On the server the mlocate database is rising.  Can I disable the updatedb.mlocate process and empty the database?<br><br>Thanks<br>Klaus<br><br><br><br>_______________________________________________<br>Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br><br><br><br>_______________________________________________<br>Mailing list: <br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br><br>Post to     : <br>openstack@lists.openstack.org<br><br>Unsubscribe : <br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack<br></blockquote><br>_______________________________________________<br>Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br></blockquote><br>_______________________________________________<br>Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br></blockquote></div><br></div></body></html>