Jump to content

[Guide]Optimizing l2j server for online 600+


Recommended Posts

This Manual has written instructions for optimizing Windows Server 2003 x64, and MySQL on the work of Lineage 2 servers with online 500-600.

Everyone knows that Windows is the standard always allocates a large part of the RAM internal services that work in the background.

Such a distribution is not satisfying.

Therefore:

Thus, we achieve the proper distribution of power.

Now we need to allocate more virtual memory for the system.

We do it this way:

If you have an extra empty hard disk, I advise you to use it under the swap file.

At this stage, set up Windows over.

 

Now go to the settings of MySQL, we have long and successfully installed.

 

Primarily set up the maximum number of connections (connection) to MySQL:

 

Maximum number of competing sessions MYSQL server will allow connect. One of these connections will be reserved for the customer with the highest privileges, ie, for the administrator, even if the connection limit has been reached.

 

max_connections = 2000 - then set about 2000, it will be an optimum value for the server, given that you do and the base site, which also connects to.

 

If your tables get large, you need to put a greater value than it is, ie, if your table weighs 200 MB, then you need to put in 2 times is 512.

table_cache = 256

 

This additional memory is allocated for the tables if they are larger than the specified value table_cache, tuning is more than enough 8mb

innodb_additional_mem_pool_size = 8M

 

It makes no sense to put more 16M

he size of the buffer InnoDB uses for buffering log data .  As soon AS
    # It is full, InnoDB will have to flush it to disk. As it is flushed
    # Once per second anyway, it does not make sense to have it very large
    # (Even with long transactions).
    innodb_log_buffer_size = 16M

 

If the server has free RAM, then you can increase the value that would be beneficial for the base.

# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
    # Row data. The bigger you set this the less disk I / O is needed to
    # Access data in tables. On a dedicated database server you may set this
    # Parameter up to 80% of the machine physical memory size. Do not set it
    # Too large, though, because competition of the physical memory may
    # Cause paging in the operating system. Note that on 32bit systems you
    # Might be limited to 2-3.5G of user level memory per process, so do not
    # Set it too high.
    innodb_buffer_pool_size = 1024M

 

Usually exhibit a half from my innodb_buffer_pool_size.

Remember, if you change this configuration, you need to turn off the muscle and remove the logs.

Logs are: MySQL Server 5.0 \ data

remove ib_logile0 and ib_logfile1

# Size of each log file in a log group. You should set the combined size
    # Of log files to about 25% -100% of your buffer pool size to avoid
    # Unneeded buffer pool flush activity on log file overwrite. However,
    # Note that a larger logfile size will increase the time needed for the
    # Recovery process.
    innodb_log_file_size = 512M

 

Assembly (for example, the assembly of Scoria):

gameserver_loop.sh

Dbhost = localhost
    USER = root
    PASS =
    DBNAME = l2jdb

    ERR = 1
    Until  [ $ ERR ==  0  ];
    do
    # Mysqlcheck-h $ DBHOST-u $ USER - password = $ PASS-s-r $ DBNAME>> "log /` date +% Y-% m-% d_% H:% M:% S `-sql_check. log "
    # Mysqldump-h $ DBHOST-u $ USER - password = $ PASS $ DBNAME | zip "backup /` date +% Y-% m-% d_% H:% M:% S `-l2jdb_gameserver.zip" -
    MV . / log / java0 . log . 0  ". / log /` date +% Y-% m-% d_% H-% M-% S `_java.log"
    MV . / log / stdout . log ". / log / Date` +% Y-% m-% D_% H-% M-% S `_stdout.log"
    # If need - uncoment # # mv. / Log / chat.log ". / Log /` date +% Y-% m-% d_% H:% M:% S `-chat.log" #
    Java - Dfile . Encoding = UTF - 8  - Xms1024m  - Xmx2048m  - XX : + UseParallelGC  - XX : + AggressiveOpts  - CP . / lib / *: l2scoria-mmocore-2.jar: bsh-engine.jar: bsh-2.0b5. jar: c3p0-0.9.1.2.jar: jython.jar: jython-engine.jar: commons-logging-1.1.jar: commons-io-1.2.jar: commons-lang-2.1.jar: javolution.jar: mysql- connector-java-5.1.8-bin.jar: / lib/l2scoria-core-3.jar com.l2scoria.gameserver.GameServer>. / log / stdout.log 2> & 1
    sleep 10;
    done

 

mmocore.properties

#------------------------------------------------- ------------
    # Set buffer compounds -
    #------------------------------------------------- ------------
    # The buffer size in kbit (kilobits)
    # By default (Windows) - 64KBits
    # Default (* nix) - 128KBits
    NetworkReadBufferSize  =  128
    NetworkWriteBufferSize  =  128
    NetworkHelperBufferSize  =  128
    ***  If  Win  -  64  stake
    # The size of auxiliary buffers
NetworkHelperBufferCount  =  20

 

flood.properties

# Must be the approximate value of players
    FloodProtectorInitialSize  =  600

 

I hope this Guide will help you, it has certainly helped me alot!

 

Some of MySQL values are just WRONG dude... If you configure your server with those config you need to have.. ammm 40gb of ram???

 

If you have 256MB of table cache... and you have 20 tables into your db, make the numbers 256x20??...

 

How many connexion to the database? 2000???

 

256mb x 20 tables (each one) x 2000 connexions??? A lot of RAM memory

without count your 1024MB of innodb cache for his transactions... 10240GB of ram, or 10.40TB...

 

It's just wrong this guide... Another i-dont-know-just-copy-paste guide without brain on it... 600ppl??? Bofff....

Link to comment
Share on other sites

  • 4 months later...
  • 1 month later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now



×
×
  • Create New...