소스 검색

update: performance optimization

v2board 2 년 전
부모
커밋
f874da19f0
3개의 변경된 파일16개의 추가작업 그리고 32개의 파일을 삭제
  1. 1 1
      .env.example
  2. 13 30
      app/Http/Controllers/Admin/Server/ManageController.php
  3. 2 1
      config/horizon.php

+ 1 - 1
.env.example

@@ -14,7 +14,7 @@ DB_USERNAME=root
 DB_PASSWORD=123456
 
 BROADCAST_DRIVER=log
-CACHE_DRIVER=redis
+CACHE_DRIVER=file
 QUEUE_CONNECTION=redis
 SESSION_DRIVER=redis
 SESSION_LIFETIME=120

+ 13 - 30
app/Http/Controllers/Admin/Server/ManageController.php

@@ -2,10 +2,6 @@
 
 namespace App\Http\Controllers\Admin\Server;
 
-use App\Models\ServerHysteria;
-use App\Models\ServerVmess;
-use App\Models\ServerShadowsocks;
-use App\Models\ServerTrojan;
 use App\Services\ServerService;
 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;
@@ -24,33 +20,20 @@ class ManageController extends Controller
     public function sort(Request $request)
     {
         ini_set('post_max_size', '1m');
+        $params = $request->only(
+                'shadowsocks',
+                'vmess',
+                'trojan',
+                'hysteria'
+            ) ?? [];
         DB::beginTransaction();
-        foreach ($request->input('sorts') ?? [] as $k => $v) {
-            switch ($v['key']) {
-                case 'shadowsocks':
-                    if (!ServerShadowsocks::find($v['value'])->update(['sort' => $v['sort']])) {
-                        DB::rollBack();
-                        abort(500, '保存失败');
-                    }
-                    break;
-                case 'vmess':
-                    if (!ServerVmess::find($v['value'])->update(['sort' => $v['sort']])) {
-                        DB::rollBack();
-                        abort(500, '保存失败');
-                    }
-                    break;
-                case 'trojan':
-                    if (!ServerTrojan::find($v['value'])->update(['sort' => $v['sort']])) {
-                        DB::rollBack();
-                        abort(500, '保存失败');
-                    }
-                    break;
-                case 'hysteria':
-                    if (!ServerHysteria::find($v['value'])->update(['sort' => $v['sort']])) {
-                        DB::rollBack();
-                        abort(500, '保存失败');
-                    }
-                    break;
+        foreach ($params as $k => $v) {
+            $model = 'App\\Models\\Server' . ucfirst($k);
+            foreach($v as $id => $sort) {
+                if (!$model::find($id)->update(['sort' => $sort])) {
+                    DB::rollBack();
+                    abort(500, '保存失败');
+                }
             }
         }
         DB::commit();

+ 2 - 1
config/horizon.php

@@ -184,7 +184,8 @@ return [
                 'minProcesses' => 1,
                 'maxProcesses' => (int)ceil($parser->getRam()['total'] / 1024 / 1024 / 1024 * 6),
                 'tries' => 1,
-                'nice' => 0,
+                'balanceCooldown' => 3,
+                'balanceMaxShift' => 1000,
             ],
         ],
     ],