bad configured, they will ruin your server
well configured, wont be a big performance impact, in fact, server wont feel so much difference between default config and custom config.
This is a little explanation:
A thread pool is a "recipent" where threads are create to execute enqueued tasks (Runnable). As you see, first parameters talk about sizes. That size is the number of threads which are created and used to execute those tasks in each Thread pool
L2J Server uses various thread pools:
General thread pool: to execute general-purpose code
IO Thread pool: to read from/write to packet bytebuffers packets
General packet thread pool: to execute the code with the data from bytebuffers packet
It also has scheduled thread pool (thread pools wich executes the task in the future)
Effect scheduled pool: used to manage effects time, add and removal
General scheduled pool: general-purpose scheduled thread pool
AI Scheduled thread pool: used to execute the events comming from AI execution
In total, 6 thread pool, each one with his configured thread pool size.
Now, what you must know and think before change the config is: There will not be never more threads in execution than your machine core processor.
If you have a Intel i7 quad core with 4x processors, there will not be never more than 4 thread executing at the same time.
Now, to proceed to configure it you should know about the kernel switch context and how it works, how threads are release (even if they are not finished) to give time to other threads, and how to get rid and use the time the cores are released by blocking access from threads.
Resuming, dont touch them