Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

dev:mohlo_by_se_hodit [07.11.2013 15:12]
ritchie +link forum.root.cz vpn a iptables
dev:mohlo_by_se_hodit [19.01.2015 20:23] (aktuální)
ritchie zalohovani db bez restartu mt serveru
Řádek 39: Řádek 39:
   [16:32:54] <pitriss> and sorry for my noobish questions..:)   [16:32:54] <pitriss> and sorry for my noobish questions..:)
   [16:33:00] <sfan5> tables like {x=1, y=0, z=7}   [16:33:00] <sfan5> tables like {x=1, y=0, z=7}
 +
 +
 +==== Definice max_lag ====
 +<code text>
 +[21:43] <ShadowNinja> Wouldn't max_lag be a better value to announce as lag than the step time?
 +[21:44] <sapier> Can someone explain to me what max lag is supposed to be?
 +[21:45] <PilzAdam> sapier, AFAIK its the time spend in Lua code
 +[21:47] <ShadowNinja> sapier: http://pastebin.ubuntu.com/6845876/
 +[21:48] <ShadowNinja> Basically dtime that decreases only slowly.
 +[21:49] <sapier1> hmm ok guess we need to think about this way of determine lag later as it doesn't honor network lag
 +</code>
 +
 +[[http://pastebin.ubuntu.com/6845876/]]
 +<code c>
 +                float max_lag = m_env->getMaxLagEstimate();
 +                max_lag *= 0.9998; // Decrease slowly (about half per 5 minutes)
 +                if(dtime > max_lag){
 +                        if(dtime > 0.1 && dtime > max_lag * 2.0)
 +                                infostream<<"Server: Maximum lag peaked to "<<dtime
 +                                                <<" s"<<std::endl;
 +                        max_lag = dtime;
 +                }
 +                m_env->reportMaxLagEstimate(max_lag);
 +</code>
 +
 +Další pěkné vysvětlení max_lag, by Zeno: https://forum.minetest.net/viewtopic.php?t=10884&p=167238#p167292
 +
 +>max_lag is kind of diffucult to explain. If you're interested in your **own** lag, RTT is the value you want to be looking at (not max_lag).
 +>
 +>What max_lag (very basically) is how long the server takes to process a single "server step" (i.e. update the environment, make new map blocks, reply to all clients... stuff like that). Let's call that server_step_time. Every time server_step_time is greater than twice the current max_lag then max_lag becomes that new server_step_time.
 +>
 +>Once the CPU processing spike goes away the max_lag decreases by .02% every server_step (unless it goes up again) until it again reaches the "normal" server_step time. This can take a while (maybe 5-10 minutes). So even if max_lag is showing, say, 5.6s the current server lag may be (and probably is) a lot less.
 +>
 +>Anyway, from a client perspective RTT is the value you should be looking at, and that's for your client only. The minimum value for RTT is at least server_step_time, so it *is* kind of associated with max_lag for a particular instant but because of the way max_lag is calculated and decreased slowly it's not very well correlated at all (unless max_lag is constant).
 +>
 +>Err, it's kind of complicated isn't it :/ max_lag is not really useful from a client's perspective at all because there is nothing the client can do about it. It's really more useful for people running a server and tuning server-side values. Even then, because max_lag is a weighted average (in effect) using a fixed value for the weight it's uses are (currently) limited (IMO)
 +
 +==== Zálohování DB bez restartu MT serveru ====
 +
 +http://irc.minetest.ru/minetest/2015-01-19#i_4121156
 +
 +vitaminx:
 +>btw. i just found a method to safely backup map.sqlite *without* stopping the server
 +>create a file called "backup.sql" and put this inside:
 +<code>
 +begin immediate;
 +.shell cp $HOME/.minetest/worlds/world/map.sqlite $HOME/map.sqlite_backup
 +rollback;
 +</code>
 +>then tell your backup script to execute this line:
 +<code>
 +echo ".read backup.sql" | sqlite3 -echo .minetest/worlds/world/map.sqlite
 +</code>
 +>DB stays consistent and user stay logged in - they probably notice a short lag while the DB file is copied, thats all
 +twoelk:
 +>vitaminx: doesn't rollback freeze youre server?
 +vitaminx:
 +>it gets a lock on the DB, so minetest has to wait with it's writes - thats what I mean with short lag
 +>i will test it today, lets see if its really noticeable
 +>having a short lag is probably still better then to disconnect all players
  
Navigace

Obecné

Vývoj

Naše minetest games

Jiné minetest games

Minecraft

Wurm Unlimited

Ostatní

O této wiki

Tisk/export