Re: mapcache seed speed optimization
Sebastiano Laini <[email protected]> Fri, 8 Nov 2019 14:30:26 +0000
| Newsgroups | gmane.comp.gis.mapserver.user |
|---|---|
| Message-ID | <f990b13955834c9eb3b1d79b5bc4a2cf@BCExchange.BuchananComputing.co.uk> |
--===============3248099636586610893== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_f990b13955834c9eb3b1d79b5bc4a2cfBCExchangeBuchananCompu_" --_000_f990b13955834c9eb3b1d79b5bc4a2cfBCExchangeBuchananCompu_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable My MapServer is on the same server as MapCache and my network is pretty fas= t. I was just trying to experiment with the -n and -p value and checking the C= PU load and I didn't seen any difference, but now that I read the responses= I'm trying -n 6 and the CPU and the RAM is more in use now and seems to se= ed faster than before. I reach that numbers because the last time I was see= ding with -n 10 was incredibly slow so I started to increase the numbers. Now in HTOP I can actually see 6 mapcache processes and not just 2 Sadly to seed the whole UK in disk cache we run out of inodes, I would like= to use SSD. About our data we use a mix of everything, here the final result https://ww= w.buchananmapping.co.uk/ We use raster, vector and tab files; the reason I can't move out from mapse= rver are mainly the mapinfo tables (tab), possibly those tab files are the = slowest layers Even though some of the vector layers are very huge, some of them the data = is about 21GB. I'll try to debug layer by layer through MapServer and strip down to the mi= nimum or replace some layers. Lastly, the last time I've tried to seed the whole UK it took me more than = a month and I simply stop it because was unacceptable to seed 7 levels of r= esolutions 70, 28, 14, 7, 2.8, 1.4, 0.7 that correspond to these scales 250= 0, 5000, 10000, 25000, 50000, 100000, 250000, 500000 Sebastiano Laini Web Developer From: Rahkonen Jukka (MML) [mailto:[email protected]] Sent: 08 November 2019 14:02 To: Sebastiano Laini <[email protected]>; 'mapserver= [email protected]' <[email protected]> Subject: Re: mapcache seed speed optimization Hi, When you seed tiles from WMS the slowest component is usually the WMS serve= r. And what the WMS server is spending its time is usually rendering. And w= hat makes rendering slow is usually that you render too much, and sometimes= that WMS server gets the vector data too slow because the backend data sou= rce is slow, very often because it has poor indexes which do not for suit t= he queries that WMS server is sending. If you have a slow WMS you can't get more speed out of it by bombing it wit= h very many parallel threads. I would have a try if using 2-4, perhaps 8 th= reads makes seeding faster but if there is no difference I would concentrat= e on the WMS configuration. BTW. why did you select to use 20000 threads? I am not sure why you see just 1 core running on 100% load. I guess that yo= u are now running WMS and MapCache on the same computer. Mapserver program = is using only 1 core but http server should start more processes for parall= el requests. That CPU load is at 100% is generally a good thing because it = tells that CPU is working, instead of waiting data from a slow disk. Anothe= r thing is that CPU may be doing something heavy and stupid. Myself I would start by gathering some information about how Mapserver WMS= is working be setting "DEBUG 2" on each layer or for the whole mapfile. By= looking at the rendering times of each layer the slowest layers can be fou= nd and then it is time to think about how to make those layers faster. You wrote that you use SQLite cache so it would be good to know that SQLite= database does not support parallel writes https://sqlite.org/lockingv3.htm= l. Seeding with a few parallel threads may increase the speed if the WMS is= the slowest part in your chain but when you have saturated the SQLite writ= ing speed adding threads will do no good. If you have optimized your WMS so= well that SQLite sets the limits then you should test other cache alternat= ives. I guess that file cache would be faster to seed from multiple threads= . When is comes to ticket https://github.com/mapserver/mapcache/issues/169 th= e latest comment is from a Mpaserver developer and their last words "I woul= dn't mind helping to fix if there were interested parties..." feel rather p= olite to me. -Jukka Rahkonen- L=E4hett=E4j=E4: mapserver-users <[email protected]<m= ailto:[email protected]>> Puolesta Sebastiano Laini L=E4hetetty: perjantai 8. marraskuuta 2019 14.35 Vastaanottaja: '[email protected]' <[email protected]= eo.org<mailto:[email protected]>> Aihe: [mapserver-users] mapcache seed speed optimization Hi all, I'm evaluating new stacks but seems that I'm stuck with mapserver and mapca= che due to the input source of our maps, so I'm trying to improve the speed= of the mapserver/mapcache stack and what I cannot improve is the seed spee= d. The -n and -p parameters seems to be useless. -n | -nthreads: number of parallel threads that should be used to request t= iles from the WMS source. The default is 1, but can be set higher if the WM= S server can withstand parallel requests. (As a rule of thumb, the value ch= osen here should never be much higher than the number of CPUs on the WMS se= rver.) -p | -nprocesses: number of parallel processes that should be used to reque= st tiles from the WMS source. I've tried to use -n 20000 and -p 60000 but for some reason the CPU load is= max 100% in 1 core, no way to make it use more power and speed up the seed= process. Max memory used is 470MB between Centos 7 (with all the services running) a= nd the seed process. I've setup apache to use HTT/2 and it make quite a difference when the cach= e is already seeded but during the seed process doesn't seems to be affecte= d. My MapServer build is: ./configure \ --with-ogr=3D/usr/local/bin/gdal-config \ --with-gdal=3D/usr/local/bin/gdal-config \ --with-wfsclient \ --with-wmsclient \ --with-wfs \ --enable-debug \ --with-curl-config=3D/usr/bin/curl-config \ --with-proj \ --with-jpeg \ --with-freetype \ --with-postgis=3D/usr/pgsql-9.3/bin/pg_config \ --with-geos=3D/usr/local/bin/geos-config I know there is mapserver 7 and yet I'm using 6 for the test. While the MapCache is: cmake -DCMAKE_PREFIX_PATH=3D"/usr/bin/sqlite3" \ -DWITH_SQLITE=3D1 \ -DWITH_BERKELEY_DB=3D0 \ -DWITH_TIFF=3D0 \ -DWITH_GEOTIFF=3D0 \ -DWITH_FCGI=3D0 \ -DWITH_PCRE=3D0 \ -DWITH_PIXMAN=3D1 \ -DWITH_OGR=3D1 \ -DWITH_GEOS=3D1 \ ../ MapCache is the latest version and this is my mapcache.xml file, we use sql= ite as a cache method <cache name=3D"cache_sqlite" type=3D"sqlite3"> <dbfile>/home/www/html/maps/cache/{tileset}/{grid}/{z}/{x}-{y}.sqlite3</d= bfile> <xcount>10000</xcount> <ycount>10000</ycount> <pragma name=3D"max_page_count">1573741823</pragma> </cache> <tileset name=3D"bccache"> <source>bcmaps</source> <cache>cache_sqlite</cache> <grid>bcgrid</grid> <format>PNG</format> <metatile>16 16</metatile> <metabuffer>0</metabuffer> <expires>2628000</expires> </tileset> <grid name=3D"bcgrid"> <metadata> <title>BC custom grid</title> </metadata> <srs>EPSG:27700</srs> <size>256 256</size> <extent>0 0 700000 1250000</extent> <resolutions>70 28 14 7 2.8 1.4 0.7</resolutions> </grid> <format name=3D"mypng" type=3D"PNG"> <compression>best</compression> </format> <service type=3D"wms" enabled=3D"true"> <full_wms>assemble</full_wms> <resample_mode>bilinear</resample_mode> <format>mypng</format> <maxsize>4096</maxsize> </service> I've also tried to use -DWITH_MAPSERVER but seems that the integration is n= ot working and they doen't care? https://github.com/mapserver/mapcache/issu= es/169 this issue was open 2 years ago and still open, not even a reply fro= m the developers. How can I improve the seed process? Should I increase the maxsize and metatile to requests more tiles and cache= faster? Regards, Sebastiano Laini Web Developer Buchanan Computing --_000_f990b13955834c9eb3b1d79b5bc4a2cfBCExchangeBuchananCompu_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:m=3D"http://schema= s.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html= 40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-= 1"> <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)"> <style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:"Segoe UI"; panose-1:2 11 5 2 4 2 4 2 2 3;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-fareast-language:EN-US;} a:link, span.MsoHyperlink {mso-style-priority:99; color:#0563C1; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:#954F72; text-decoration:underline;} p {mso-style-priority:99; mso-margin-top-alt:auto; margin-right:0cm; mso-margin-bottom-alt:auto; margin-left:0cm; font-size:12.0pt; font-family:"Times New Roman",serif;} code {mso-style-priority:99; font-family:"Courier New";} p.msonormal0, li.msonormal0, div.msonormal0 {mso-style-name:msonormal; mso-style-priority:99; mso-margin-top-alt:auto; margin-right:0cm; mso-margin-bottom-alt:auto; margin-left:0cm; font-size:12.0pt; font-family:"Times New Roman",serif;} span.EmailStyle20 {mso-style-type:personal; font-family:"Calibri",sans-serif; color:windowtext;} span.EmailStyle21 {mso-style-type:personal; font-family:"Calibri",sans-serif; color:windowtext;} span.EmailStyle22 {mso-style-type:personal-reply; font-family:"Calibri",sans-serif; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--> </head> <body lang=3D"EN-GB" link=3D"#0563C1" vlink=3D"#954F72"> <div class=3D"WordSection1"> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">My MapServer is on the= same server as MapCache and my network is pretty fast.<o:p></o:p></span></= p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">I was just trying to e= xperiment with the –n and –p value and checking the CPU load an= d I didn’t seen any difference, but now that I read the responses I&#= 8217;m trying –n 6 and the CPU and the RAM is more in use now and seems to seed faster than before. I reach that numbers because the las= t time I was seeding with –n 10 was incredibly slow so I started to i= ncrease the numbers.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">Now in HTOP I can actu= ally see 6 mapcache processes and not just 2<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">Sadly to seed the whol= e UK in disk cache we run out of inodes, I would like to use SSD.<o:p></o:p= ></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">About our data we use = a mix of everything, here the final result </span><a href=3D"https://www.buchananmapping.co.uk/">https://www.buchananm= apping.co.uk/</a><span style=3D"color:#1F497D"><o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">We use raster, vector = and tab files; the reason I can’t move out from mapserver are mainly = the mapinfo tables (tab), possibly those tab files are the slowest layers<o= :p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">Even though some of th= e vector layers are very huge, some of them the data is about 21GB.<o:p></o= :p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">I’ll try to debu= g layer by layer through MapServer and strip down to the minimum or replace= some layers.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D">Lastly, the last time = I’ve tried to seed the whole UK it took me more than a month and I si= mply stop it because was unacceptable to seed 7 levels of resolutions 70, 2= 8, 14, 7, 2.8, 1.4, 0.7 that correspond to these scales 2500, 5000, 10000, 25000, 50000, 100000, 250000, 500000<o:p><= /o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <div> <p class=3D"MsoNormal"><span style=3D"color:#1F497D;mso-fareast-language:EN= -GB">Sebastiano Laini<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D;mso-fareast-language:EN= -GB">Web Developer<o:p></o:p></span></p> </div> <p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p> </o:p></spa= n></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm = 0cm 0cm"> <p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"mso-fareast-languag= e:EN-GB">From:</span></b><span lang=3D"EN-US" style=3D"mso-fareast-language= :EN-GB"> Rahkonen Jukka (MML) [mailto:[email protected]] <br> <b>Sent:</b> 08 November 2019 14:02<br> <b>To:</b> Sebastiano Laini <[email protected]>= ;; '[email protected]' <[email protected]>= ;<br> <b>Subject:</b> Re: mapcache seed speed optimization<o:p></o:p></span></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span lang=3D"FI">Hi,<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"FI"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">When you seed tiles from WMS th= e slowest component is usually the WMS server. And what the WMS server is s= pending its time is usually rendering. And what makes rendering slow is usu= ally that you render too much, and sometimes that WMS server gets the vector data too slow because the backend data sou= rce is slow, very often because it has poor indexes which do not for suit t= he queries that WMS server is <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">sending.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">If you have a slow WMS you can&= #8217;t get more speed out of it by bombing it with very many parallel thre= ads. I would have a try if using 2-4, perhaps 8 threads makes seeding faste= r but if there is no difference I would concentrate on the WMS configuration. BTW. why did you <o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">select to use 20000 threads?<o:= p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">I am not sure why you see just = 1 core running on 100% load. I guess that you are now running WMS and MapCa= che on the same computer. Mapserver program is using only 1 core but http s= erver should start more processes for parallel requests. That CPU load is at 100% is generally a good thing beca= use it tells that CPU is working, instead of waiting data from a slow disk.= Another thing is that CPU may be doing something heavy and stupid.<o:p></o= :p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">Myself I would start by gatheri= ng some information about how Mapserver WMS is working be setting = 220;DEBUG 2” on each layer or for the whole mapfile. By looking at th= e rendering times of each layer the slowest layers can be found and then it is time to think about how to make those layers faste= r.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">You wrote that you use SQLite c= ache so it would be good to know that SQLite database does not support para= llel writes </span><a href=3D"https://sqlite.org/lockingv3.html"><span lang=3D"EN-US">h= ttps://sqlite.org/lockingv3.html</span></a><span lang=3D"EN-US">. Seeding w= ith a few parallel threads may increase the speed if the WMS is the slowest= part in your chain but when you have saturated the SQLite writing speed adding threads will do no good. If you = have optimized your WMS so well that SQLite sets the limits then you should= test other cache alternatives. I guess that file cache would be faster to = seed from multiple threads.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US">When is comes to ticket </span>= <a href=3D"https://github.com/mapserver/mapcache/issues/169">https://github= .com/mapserver/mapcache/issues/169</a> the latest comment is from a Mpaserv= er developer and their last words “<span lang=3D"EN-US" style=3D"font= -size:10.5pt;font-family:"Segoe UI",sans-serif;color:#24292E;back= ground:white">I wouldn't mind helping to fix if there were interested parties...” fe= el rather polite to me.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-= family:"Segoe UI",sans-serif;color:#24292E;background:white"><o:p= > </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-= family:"Segoe UI",sans-serif;color:#24292E;background:white">-Juk= ka Rahkonen-</span><span lang=3D"EN-US"><o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p> </o:p></span></p> <div> <div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm = 0cm 0cm"> <p class=3D"MsoNormal"><b><span lang=3D"FI" style=3D"mso-fareast-language:F= I">L=E4hett=E4j=E4:</span></b><span lang=3D"FI" style=3D"mso-fareast-langua= ge:FI"> mapserver-users <</span><a href=3D"mailto:mapserver-users-bounce= [email protected]"><span lang=3D"FI" style=3D"mso-fareast-language:FI">maps= [email protected]</span></a><span lang=3D"FI" style=3D"ms= o-fareast-language:FI">> <b>Puolesta </b>Sebastiano Laini<br> <b>L=E4hetetty:</b> perjantai 8. marraskuuta 2019 14.35<br> <b>Vastaanottaja:</b> '[email protected]' <</span><a href= =3D"mailto:[email protected]"><span lang=3D"FI" style=3D"mso-= fareast-language:FI">[email protected]</span></a><span lang= =3D"FI" style=3D"mso-fareast-language:FI">><br> <b>Aihe:</b> [mapserver-users] mapcache seed speed optimization<o:p></o:p><= /span></p> </div> </div> <p class=3D"MsoNormal"><span lang=3D"FI"><o:p> </o:p></span></p> <p class=3D"MsoNormal">Hi all,<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">I’m evaluating new stacks but seems that IR= 17;m stuck with mapserver and mapcache due to the input source of our maps,= so I’m trying to improve the speed of the mapserver/mapcache stack a= nd what I cannot improve is the seed speed.<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">The –n and –p parameters seems to be use= less.<o:p></o:p></p> <p style=3D"line-height:18.0pt;background:white"><strong><span style=3D"fon= t-size:9.5pt;font-family:"Arial",sans-serif;color:#3E4349">-n | &= #8211;nthreads</span></strong><span style=3D"font-size:9.5pt;font-family:&q= uot;Arial",sans-serif;color:#3E4349">: number of parallel threads that should be used to request tiles from the WMS source. The default is 1= , but can be set higher if the WMS server can withstand parallel requests. = (As a rule of thumb, the value chosen here should never be much higher than= the number of CPUs on the WMS server.)<o:p></o:p></span></p> <p style=3D"line-height:18.0pt;background:white"><strong><span style=3D"fon= t-size:9.5pt;font-family:"Arial",sans-serif;color:#3E4349">-p | &= #8211;nprocesses</span></strong><span style=3D"font-size:9.5pt;font-family:= "Arial",sans-serif;color:#3E4349">: number of parallel processes that should be used to request tiles from the WMS source.<o:p></= o:p></span></p> <p class=3D"MsoNormal">I’ve tried to use –n 20000 and –p = 60000 but for some reason the CPU load is max 100% in 1 core, no way to mak= e it use more power and speed up the seed process.<o:p></o:p></p> <p class=3D"MsoNormal">Max memory used is 470MB between Centos 7 (with all = the services running) and the seed process.<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">I’ve setup apache to use HTT/2 and it make qui= te a difference when the cache is already seeded but during the seed proces= s doesn’t seems to be affected.<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">My MapServer build is:<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">./configure \= </span></code><code><span lang=3D"FI" style=3D"font-size:10.0pt"><o:p></o:p= ></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-ogr=3D= /usr/local/bin/gdal-config \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-gdal= =3D/usr/local/bin/gdal-config \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-wfscli= ent \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-wmscli= ent \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-wfs \<= o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--enable-debu= g \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-curl-c= onfig=3D/usr/bin/curl-config \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-proj \= <o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-jpeg \= <o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-freety= pe \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-postgi= s=3D/usr/pgsql-9.3/bin/pg_config \<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><code><span style=3D"font-size:10.0pt">--with-geos= =3D/usr/local/bin/geos-config<o:p></o:p></span></code></p> <p class=3D"MsoNormal"><span lang=3D"FI"><o:p> </o:p></span></p> <p class=3D"MsoNormal">I know there is mapserver 7 and yet I’m using = 6 for the test.<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">While the MapCache is: <o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">cmake -DCMAKE_PREFIX_PATH=3D"/usr/b= in/sqlite3" \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_SQ= LITE=3D1 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_BE= RKELEY_DB=3D0 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_TI= FF=3D0 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_GE= OTIFF=3D0 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_FC= GI=3D0 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_PC= RE=3D0 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_PI= XMAN=3D1 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_OG= R=3D1 \<o:p></o:p></p> <p class=3D"MsoNormal"> -DWITH_GE= OS=3D1 \<o:p></o:p></p> <p class=3D"MsoNormal"> ../= <o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">MapCache is the latest version and this is my mapcac= he.xml file, we use sqlite as a cache method<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"> <cache name=3D"cache_sqlite" typ= e=3D"sqlite3"><o:p></o:p></p> <p class=3D"MsoNormal"> <dbfile>/home/www/html/maps/cache/{tile= set}/{grid}/{z}/{x}-{y}.sqlite3</dbfile><o:p></o:p></p> <p class=3D"MsoNormal"> <xcount>10000</xcount><o:p></o:p>= </p> <p class=3D"MsoNormal"> <ycount>10000</ycount><o:p></o:p>= </p> <p class=3D"MsoNormal"> <pragma name=3D"max_page_count"&= gt;1573741823</pragma><o:p></o:p></p> <p class=3D"MsoNormal"> </cache><o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"> <tileset name=3D"bccache"><o:= p></o:p></p> <p class=3D"MsoNormal"> <source>bcmaps</source&g= t;<o:p></o:p></p> <p class=3D"MsoNormal"> <cache>cache_sqlite</cac= he><o:p></o:p></p> <p class=3D"MsoNormal"> <grid>bcgrid</grid><o= :p></o:p></p> <p class=3D"MsoNormal"> <format>PNG</format><= o:p></o:p></p> <p class=3D"MsoNormal"> <metatile>16 16</metatil= e><o:p></o:p></p> <p class=3D"MsoNormal"> <metabuffer>0</metabuffe= r><o:p></o:p></p> <p class=3D"MsoNormal"> <expires>2628000</expire= s><o:p></o:p></p> <p class=3D"MsoNormal"> </tileset><o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"> <grid name=3D"bcgrid"><o:p></= o:p></p> <p class=3D"MsoNormal"> &nbs= p; <metadata><o:p></o:p></p> <p class=3D"MsoNormal"> &nbs= p; <title>BC custom grid</title><= o:p></o:p></p> <p class=3D"MsoNormal"> &nbs= p; </metadata><o:p></o:p></p> <p class=3D"MsoNormal"> &nbs= p; <srs>EPSG:27700</srs><o:p></o:= p></p> <p class=3D"MsoNormal"> &nbs= p; <size>256 256</size><o:p></o:p= ></p> <p class=3D"MsoNormal"> &nbs= p; <extent>0 0 700000 1250000</exten= t><o:p></o:p></p> <p class=3D"MsoNormal"> &nbs= p; <resolutions>70 28 14 7 2.8 1.4 0.7&= lt;/resolutions><o:p></o:p></p> <p class=3D"MsoNormal"> </grid><o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"> <format name=3D"mypng" type=3D&q= uot;PNG"><o:p></o:p></p> <p class=3D"MsoNormal"> &nbs= p; <compression>best</compression>= ;<o:p></o:p></p> <p class=3D"MsoNormal"> </format><o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"> <service type=3D"wms" enabled=3D= "true"><o:p></o:p></p> <p class=3D"MsoNormal"> <full_wms>assemble</full= _wms><o:p></o:p></p> <p class=3D"MsoNormal"> <resample_mode>bilinear<= /resample_mode><o:p></o:p></p> <p class=3D"MsoNormal"> <format>mypng</format>= ;<o:p></o:p></p> <p class=3D"MsoNormal"> <maxsize>4096</maxsize&g= t;<o:p></o:p></p> <p class=3D"MsoNormal"> </service><o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">I’ve also tried to use –DWITH_MAPSERVER = but seems that the integration is not working and they doen’t care? <a href=3D"https://github.com/mapserver/mapcache/issues/169">https://github= .com/mapserver/mapcache/issues/169</a> this issue was open 2 years ago and = still open, not even a reply from the developers.<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">How can I improve the seed process?<o:p></o:p></p> <p class=3D"MsoNormal">Should I increase the maxsize and metatile to reques= ts more tiles and cache faster?<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal">Regards,<o:p></o:p></p> <p class=3D"MsoNormal"><o:p> </o:p></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D;mso-fareast-language:EN= -GB">Sebastiano Laini<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D;mso-fareast-language:EN= -GB">Web Developer<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"color:#1F497D;mso-fareast-language:EN= -GB">Buchanan Computing<o:p></o:p></span></p> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> </body> </html> --_000_f990b13955834c9eb3b1d79b5bc4a2cfBCExchangeBuchananCompu_-- --===============3248099636586610893== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbWFwc2VydmVy LXVzZXJzIG1haWxpbmcgbGlzdAptYXBzZXJ2ZXItdXNlcnNAbGlzdHMub3NnZW8ub3JnCmh0dHBz Oi8vbGlzdHMub3NnZW8ub3JnL21haWxtYW4vbGlzdGluZm8vbWFwc2VydmVyLXVzZXJz --===============3248099636586610893==--